





      module mo_exp_prod_loss_mod

      contains

      subroutine exp_prod_loss( prod, loss, y, rxt, het_rates )

      use CHEM_MODS_MOD, only : clscnt1, rxntot, hetcnt
      use MO_GRID_MOD, only : pcnstm1

      implicit none

!--------------------------------------------------------------------
! ... Dummy args
!--------------------------------------------------------------------
      real, dimension(:,:), intent(out) :: &
            prod, &
            loss
      real, intent(in) :: y(:,:)
      real, intent(in) :: rxt(:,:)
      real, intent(in) :: het_rates(:,:)


!--------------------------------------------------------------------
! ... Loss and production for Explicit method
!--------------------------------------------------------------------

      loss(:,1) = ((rxt(:,63) +rxt(:,64))* y(:,3) + rxt(:,4))* y(:,4)
      prod(:,1) = 0.
      loss(:,2) = (rxt(:,80)* y(:,3) +rxt(:,79)* y(:,17) +rxt(:,214)* y(:,61)) &
                 * y(:,12)
      prod(:,2) = 0.
      loss(:,3) = ((rxt(:,48) +rxt(:,49))* y(:,17))* y(:,16)
      prod(:,3) = 0.
      loss(:,4) = (rxt(:,108)* y(:,17))* y(:,28)
      prod(:,4) = 0.
      loss(:,5) = (rxt(:,115)* y(:,17))* y(:,40)
      prod(:,5) = 0.
      loss(:,6) = (rxt(:,50)* y(:,3) +rxt(:,59)* y(:,17))* y(:,51)
      prod(:,6) =.050*rxt(:,80)*y(:,12)*y(:,3)
      loss(:,7) = (rxt(:,62)* y(:,3) + (rxt(:,72) +rxt(:,240))* y(:,11) +rxt(:,241) &
                 * y(:,60) +rxt(:,246)* y(:,67) + rxt(:,14))* y(:,73)
      prod(:,7) = (rxt(:,59)*y(:,51) +rxt(:,79)*y(:,12) +rxt(:,108)*y(:,28) + &
                 rxt(:,115)*y(:,40))*y(:,17)
      loss(:,8) = 0.
      prod(:,8) = 0.

      end subroutine exp_prod_loss

      end module mo_exp_prod_loss_mod

      module mo_imp_prod_loss_mod

      contains

      subroutine imp_prod_loss( prod, loss, y, rxt, het_rates )

      use CHEM_MODS_MOD, only : clscnt4, rxntot, hetcnt, clsze
      use MO_GRID_MOD, only : pcnstm1

      implicit none

!--------------------------------------------------------------------
! ... Dummy args
!--------------------------------------------------------------------
      real, dimension(:), intent(out) :: &
            prod, &
            loss
      real, intent(in) :: y(:)
      real, intent(in) :: rxt(:)
      real, intent(in) :: het_rates(:)



!--------------------------------------------------------------------
! ... Loss and production for Implicit method
!--------------------------------------------------------------------


         loss(84) = (rxt(45)* y(2) +rxt(66)* y(6) +rxt(68)* y(7) +rxt(53)* y(17) &
                  +rxt(54)* y(18) +rxt(94)* y(20) +rxt(125)* y(21) +rxt(92)* y(29) &
                  +rxt(140)* y(33) +rxt(148)* y(34) +rxt(195)* y(39) +rxt(209)* y(61) &
                  +rxt(223)* y(68) +rxt(207)* y(72) +rxt(133)* y(76) +rxt(191)* y(98) &
                  + rxt(2) + rxt(3))* y(1)
         prod(84) = (.150*rxt(103)*y(25) +.150*rxt(159)*y(90) +.250*rxt(190)*y(97)) &
                 *y(18) +rxt(44)*y(2)
         loss(19) = ((rxt(63) +rxt(64))* y(4) +rxt(80)* y(12) +rxt(50)* y(51) +rxt(62) &
                 * y(73) + rxt(60) + rxt(61))* y(3)
         prod(19) =rxt(2)*y(1)
         loss(91) = (rxt(45)* y(1) +rxt(236)* y(6) +rxt(67)* y(7) +rxt(51)* y(17) &
                  +rxt(52)* y(18) +rxt(213)* y(60) +rxt(210)* y(62) +rxt(228)* y(65) &
                  + rxt(44))* y(2)
         prod(91) = (rxt(46) +rxt(47)*y(6) +rxt(237)*y(7))*y(5) + (rxt(3) + &
                 .765*rxt(195)*y(39))*y(1) + (rxt(60) +rxt(61))*y(3) +rxt(5)*y(6) &
                  +rxt(6)*y(7) +.890*rxt(9)*y(8) +rxt(58)*y(17)*y(17) +rxt(42)*y(69)
         loss(17) = (rxt(47)* y(6) +rxt(237)* y(7) + rxt(46))* y(5)
         prod(17) =rxt(5)*y(6)
         loss(85) = (rxt(66)* y(1) +rxt(236)* y(2) +rxt(47)* y(5) +rxt(75)* y(8) &
                  +rxt(81)* y(13) +rxt(65)* y(18) +rxt(96)* y(22) +rxt(101)* y(25) &
                  +rxt(126)* y(32) +rxt(150)* y(35) +rxt(109)* y(37) +rxt(116)* y(41) &
                  +rxt(89)* y(48) +rxt(211)* y(62) +rxt(227)* y(69) +rxt(131)* y(77) &
                  +rxt(138)* y(84) +rxt(141)* y(87) +rxt(156)* y(89) +rxt(158)* y(90) &
                  + (rxt(168) +rxt(169))* y(92) +rxt(170)* y(93) +rxt(182)* y(95) &
                  +rxt(189)* y(97) + rxt(5))* y(6)
         prod(85) = (rxt(6) +.500*rxt(200) +rxt(67)*y(2) +rxt(234)*y(8))*y(7) &
                  +2.000*rxt(63)*y(4)*y(3) +rxt(46)*y(5) +.110*rxt(9)*y(8)
         loss(90) = (rxt(68)* y(1) +rxt(67)* y(2) +rxt(237)* y(5) +rxt(70)* y(8) &
                  +rxt(73)* y(17) +rxt(76)* y(18) +rxt(102)* y(25) +rxt(212)* y(62) &
                  +rxt(224)* y(69) +rxt(162)* y(90) + rxt(6) + rxt(200))* y(7)
         prod(90) = (rxt(65)*y(18) +rxt(66)*y(1) +2.000*rxt(75)*y(8) +rxt(81)*y(13) + &
                 rxt(89)*y(48) +rxt(96)*y(22) +rxt(101)*y(25) +rxt(109)*y(37) + &
                 rxt(116)*y(41) +.900*rxt(126)*y(32) +.880*rxt(131)*y(77) + &
                 rxt(138)*y(84) +.965*rxt(141)*y(87) +.970*rxt(150)*y(35) + &
                 1.850*rxt(156)*y(89) +rxt(158)*y(90) +rxt(168)*y(92) + &
                 .960*rxt(170)*y(93) +1.300*rxt(182)*y(95) +rxt(189)*y(97) + &
                 rxt(211)*y(62) +rxt(227)*y(69) +rxt(236)*y(2))*y(6) + (.890*rxt(9) + &
                 rxt(69)*y(18) +1.300*rxt(183)*y(95) +rxt(188)*y(97) +rxt(196)*y(39) + &
                 rxt(204)*y(54) +2.000*rxt(235)*y(8))*y(8) + (rxt(10) +rxt(78) + &
                 rxt(77)*y(17))*y(10) + (rxt(7) +rxt(71) +rxt(239)*y(58))*y(11) &
                  + (.060*rxt(132)*y(77) +.850*rxt(157)*y(89) +.235*rxt(184)*y(95)) &
                 *y(18) + (rxt(20) +rxt(163) +rxt(174)*y(17))*y(31) + (.600*rxt(19) + &
                 rxt(106))*y(27) +.700*rxt(191)*y(98)*y(1) +rxt(8)*y(9) &
                  +rxt(185)*y(96)*y(17) +rxt(32)*y(76) +rxt(33)*y(78) +rxt(34)*y(79) &
                  +rxt(35)*y(80)
         loss(80) = (rxt(75)* y(6) + (rxt(70) +rxt(234))* y(7) + 2.*rxt(235)* y(8) &
                  +rxt(86)* y(15) +rxt(69)* y(18) +rxt(95)* y(20) +rxt(181)* y(21) &
                  +rxt(100)* y(23) +rxt(149)* y(34) +rxt(196)* y(39) +rxt(204)* y(54) &
                  +rxt(177)* y(85) +rxt(179)* y(86) +rxt(183)* y(95) +rxt(188)* y(97) &
                  +rxt(187)* y(98) + rxt(9) + rxt(198))* y(8)
         prod(80) = (rxt(7) +rxt(71))*y(11) + (rxt(74)*y(9) +rxt(145)*y(79))*y(17) &
                  + (rxt(36) +rxt(213)*y(2))*y(60) + (.150*rxt(156)*y(6) + &
                 .150*rxt(157)*y(18))*y(89) +rxt(68)*y(7)*y(1) +.400*rxt(19)*y(27) &
                  +rxt(39)*y(67)
         loss(68) = (rxt(74)* y(17) + rxt(8))* y(9)
         prod(68) = (rxt(198) +rxt(86)*y(15) +rxt(100)*y(23) +rxt(149)*y(34) + &
                 rxt(177)*y(85) +rxt(179)*y(86) +rxt(187)*y(98))*y(8) &
                  + (2.000*rxt(197) +2.000*rxt(72)*y(73) +2.000*rxt(240)*y(73) + &
                 rxt(239)*y(58))*y(11) + (.420*rxt(131)*y(77) +rxt(169)*y(92))*y(6) &
                  + (.500*rxt(200) +rxt(73)*y(17))*y(7) + (.500*rxt(132)*y(77) + &
                 rxt(190)*y(97))*y(18) + (rxt(241)*y(73) +rxt(242)*y(58))*y(60) &
                  +rxt(206)*y(55)*y(17) +rxt(246)*y(73)*y(67)
         loss(23) = (rxt(77)* y(17) + rxt(10) + rxt(78))* y(10)
         prod(23) =rxt(76)*y(18)*y(7)
         loss(39) = (rxt(239)* y(58) + (rxt(72) +rxt(240))* y(73) + rxt(7) + rxt(71) &
                  + rxt(197))* y(11)
         prod(39) =rxt(70)*y(8)*y(7)
         loss(78) = (rxt(81)* y(6) + 2.*(rxt(82) +rxt(83))* y(13) +rxt(84)* y(18) &
                  +rxt(104)* y(25) +rxt(128)* y(32) +rxt(152)* y(35) +rxt(111)* y(37) &
                  +rxt(118)* y(41) +rxt(143)* y(87) + (rxt(160) +rxt(161))* y(90) &
                  +rxt(167)* y(92))* y(13)
         prod(78) = (rxt(101)*y(6) +.440*rxt(103)*y(18) +.900*rxt(104)*y(13) + &
                 2.000*rxt(107)*y(25))*y(25) + (rxt(79)*y(17) +.750*rxt(80)*y(3) + &
                 rxt(214)*y(61))*y(12) + (.500*rxt(158)*y(6) +.390*rxt(159)*y(18)) &
                 *y(90) +.051*rxt(125)*y(21)*y(1) +.700*rxt(85)*y(17)*y(14) +rxt(16) &
                 *y(23) +rxt(18)*y(26) +.400*rxt(19)*y(27) +.300*rxt(23)*y(33) &
                  +rxt(26)*y(43) +.180*rxt(35)*y(80)
         loss(32) = (rxt(85)* y(17) + rxt(11))* y(14)
         prod(32) =rxt(84)*y(18)*y(13)
         loss(88) = (rxt(86)* y(8) +rxt(87)* y(17) +rxt(219)* y(61) +rxt(230)* y(68) &
                  + rxt(12) + rxt(13))* y(15)
         prod(88) = (rxt(81)*y(6) +2.000*rxt(82)*y(13) +rxt(83)*y(13) + &
                 rxt(104)*y(25) +.750*rxt(111)*y(37) +rxt(118)*y(41) + &
                 1.220*rxt(128)*y(32) +.890*rxt(143)*y(87) +1.255*rxt(152)*y(35) + &
                 2.000*rxt(160)*y(90) +rxt(161)*y(90) +rxt(167)*y(92))*y(13) &
                  + (rxt(96)*y(22) +.900*rxt(126)*y(32) +.690*rxt(131)*y(77) + &
                 .375*rxt(138)*y(84) +.249*rxt(141)*y(87) +.080*rxt(156)*y(89) + &
                 .500*rxt(158)*y(90) +.960*rxt(170)*y(93) +.070*rxt(182)*y(95))*y(6) &
                  + (.063*rxt(127)*y(32) +.440*rxt(132)*y(77) +.375*rxt(137)*y(84) + &
                 .120*rxt(142)*y(87) +.080*rxt(157)*y(89) +.590*rxt(159)*y(90) + &
                 .150*rxt(171)*y(93) +.235*rxt(184)*y(95))*y(18) &
                  + (.300*rxt(85)*y(14) +.500*rxt(88)*y(29) +.050*rxt(99)*y(23) + &
                 .500*rxt(105)*y(26) +rxt(121)*y(44) +.350*rxt(145)*y(79) + &
                 .800*rxt(175)*y(46))*y(17) + (rxt(92)*y(29) +.580*rxt(94)*y(20) + &
                 .845*rxt(125)*y(21) +rxt(133)*y(76) +.050*rxt(140)*y(33) + &
                 .120*rxt(148)*y(34))*y(1) + (rxt(124) +.920*rxt(129)*y(32))*y(32) &
                  +.250*rxt(80)*y(12)*y(3) +.070*rxt(183)*y(95)*y(8) +rxt(11)*y(14) &
                  +rxt(17)*y(24) +1.340*rxt(21)*y(34) +rxt(31)*y(46) +rxt(30)*y(47) &
                  +2.000*rxt(91)*y(49) +.690*rxt(29)*y(50) +.500*rxt(33)*y(78)
         loss(83) = (rxt(53)* y(1) +rxt(51)* y(2) +rxt(73)* y(7) +rxt(74)* y(9) &
                  +rxt(77)* y(10) +rxt(79)* y(12) +rxt(85)* y(14) +rxt(87)* y(15) &
                  + (rxt(48) +rxt(49))* y(16) + 2.*(rxt(58) +rxt(220))* y(17) +rxt(57) &
                 * y(18) +rxt(56)* y(19) +rxt(93)* y(20) +rxt(123)* y(21) +rxt(99) &
                 * y(23) +rxt(98)* y(24) +rxt(105)* y(26) +rxt(108)* y(28) +rxt(88) &
                 * y(29) +rxt(114)* y(30) +rxt(174)* y(31) +rxt(139)* y(33) +rxt(146) &
                 * y(34) +rxt(153)* y(36) +rxt(113)* y(38) +rxt(194)* y(39) +rxt(115) &
                 * y(40) +rxt(119)* y(42) +rxt(120)* y(43) +rxt(121)* y(44) +rxt(122) &
                 * y(45) +rxt(175)* y(46) +rxt(180)* y(47) +rxt(134)* y(50) +rxt(59) &
                 * y(51) +rxt(201)* y(52) + (rxt(202) +rxt(203))* y(54) +rxt(206) &
                 * y(55) +rxt(215)* y(58) + (rxt(218) +rxt(233))* y(62) +rxt(231) &
                 * y(66) +rxt(130)* y(76) +rxt(155)* y(78) +rxt(145)* y(79) +rxt(193) &
                 * y(80) +rxt(136)* y(83) +rxt(176)* y(85) +rxt(178)* y(86) +rxt(144) &
                 * y(88) + (rxt(164) +rxt(165))* y(91) +rxt(172)* y(94) +rxt(186) &
                 * y(96) +rxt(192)* y(98))* y(17)
         prod(83) = (rxt(52)*y(2) +rxt(54)*y(1) +rxt(65)*y(6) +rxt(69)*y(8) + &
                 .440*rxt(103)*y(25) +.063*rxt(127)*y(32) +.500*rxt(132)*y(77) + &
                 1.125*rxt(137)*y(84) +.620*rxt(142)*y(87) +.580*rxt(151)*y(35) + &
                 rxt(157)*y(89) +.440*rxt(159)*y(90) +2.000*rxt(166)*y(92) + &
                 .150*rxt(171)*y(93) +.235*rxt(184)*y(95))*y(18) &
                  + (.120*rxt(92)*y(29) +.244*rxt(94)*y(20) +.270*rxt(125)*y(21) + &
                 .270*rxt(133)*y(76) +.202*rxt(140)*y(33) +.261*rxt(148)*y(34) + &
                 .850*rxt(191)*y(98) +1.156*rxt(195)*y(39) +rxt(207)*y(72))*y(1) &
                  + (.300*rxt(85)*y(14) +.791*rxt(98)*y(24) +.500*rxt(105)*y(26) + &
                 .640*rxt(113)*y(38) +.613*rxt(134)*y(50) +.791*rxt(144)*y(88) + &
                 .640*rxt(186)*y(96))*y(17) + (rxt(50)*y(51) +2.000*rxt(62)*y(73) + &
                 .750*rxt(80)*y(12))*y(3) + (.125*rxt(138)*y(84) +rxt(168)*y(92))*y(6) &
                  + (rxt(40) +rxt(228)*y(2))*y(65) +.500*rxt(200)*y(7) +rxt(8)*y(9) &
                  +.700*rxt(167)*y(92)*y(13) +rxt(11)*y(14) +2.000*rxt(15)*y(19) &
                  +rxt(17)*y(24) +rxt(18)*y(26) +rxt(124)*y(32) +.660*rxt(22)*y(34) &
                  +rxt(147)*y(35) +rxt(24)*y(38) +rxt(25)*y(42) +rxt(37)*y(59)
         loss(82) = (rxt(54)* y(1) +rxt(52)* y(2) +rxt(65)* y(6) +rxt(76)* y(7) &
                  +rxt(69)* y(8) +rxt(84)* y(13) +rxt(57)* y(17) + 2.*rxt(55)* y(18) &
                  +rxt(97)* y(22) +rxt(103)* y(25) +rxt(127)* y(32) +rxt(151)* y(35) &
                  +rxt(110)* y(37) +rxt(117)* y(41) +rxt(216)* y(61) +rxt(217)* y(62) &
                  +rxt(229)* y(68) +rxt(226)* y(69) +rxt(132)* y(77) +rxt(137)* y(84) &
                  +rxt(142)* y(87) +rxt(157)* y(89) +rxt(159)* y(90) +rxt(166)* y(92) &
                  +rxt(171)* y(93) +rxt(184)* y(95) +rxt(190)* y(97) + rxt(199)) &
                 * y(18)
         prod(82) = (rxt(48)*y(16) +rxt(59)*y(51) +rxt(53)*y(1) +rxt(56)*y(19) + &
                 rxt(87)*y(15) +.250*rxt(88)*y(29) +.050*rxt(99)*y(23) + &
                 rxt(121)*y(44) +rxt(122)*y(45) +rxt(175)*y(46) +rxt(176)*y(85) + &
                 rxt(180)*y(47) +rxt(218)*y(62))*y(17) + (rxt(81)*y(13) + &
                 rxt(96)*y(22) +rxt(109)*y(37) +rxt(116)*y(41) +.900*rxt(126)*y(32) + &
                 .690*rxt(131)*y(77) +.825*rxt(138)*y(84) +.249*rxt(141)*y(87) + &
                 .970*rxt(150)*y(35) +.800*rxt(182)*y(95) +rxt(189)*y(97))*y(6) &
                  + (2.000*rxt(82)*y(13) +.900*rxt(104)*y(25) +rxt(111)*y(37) + &
                 rxt(118)*y(41) +1.100*rxt(128)*y(32) +.640*rxt(143)*y(87) + &
                 1.700*rxt(152)*y(35) +rxt(160)*y(90) +.700*rxt(167)*y(92))*y(13) &
                  + (.120*rxt(92)*y(29) +.244*rxt(94)*y(20) +.026*rxt(125)*y(21) + &
                 .202*rxt(140)*y(33) +.202*rxt(148)*y(34) +.450*rxt(191)*y(98))*y(1) &
                  + (.063*rxt(127)*y(32) +.440*rxt(132)*y(77) +.825*rxt(137)*y(84) + &
                 .250*rxt(142)*y(87) +.580*rxt(151)*y(35))*y(18) + (rxt(86)*y(15) + &
                 rxt(177)*y(85) +.800*rxt(183)*y(95) +rxt(188)*y(97))*y(8) &
                  + (rxt(12) +rxt(219)*y(61) +rxt(230)*y(68))*y(15) + (rxt(50)*y(51) + &
                 .200*rxt(80)*y(12))*y(3) + (rxt(10) +rxt(78))*y(10) + (rxt(124) + &
                 1.280*rxt(129)*y(32))*y(32) + (rxt(90) +rxt(91))*y(49) +rxt(11)*y(14) &
                  +rxt(16)*y(23) +rxt(17)*y(24) +1.340*rxt(21)*y(34) &
                  +2.000*rxt(112)*y(37)*y(37) +rxt(24)*y(38) +rxt(25)*y(42) &
                  +2.000*rxt(31)*y(46) +rxt(30)*y(47) +rxt(29)*y(50) +rxt(208)*y(72) &
                  +rxt(32)*y(76) +rxt(33)*y(78) +.270*rxt(35)*y(80) +2.000*rxt(28) &
                 *y(85) +rxt(27)*y(86)
         loss(21) = (rxt(56)* y(17) + rxt(15))* y(19)
         prod(21) =.110*rxt(125)*y(21)*y(1) +rxt(220)*y(17)*y(17) +rxt(55)*y(18)*y(18)
         loss(54) = (rxt(94)* y(1) +rxt(95)* y(8) +rxt(93)* y(17))* y(20)
         prod(54) =.128*rxt(125)*y(21)*y(1) +.700*rxt(23)*y(33)
         loss(53) = (rxt(125)* y(1) +rxt(181)* y(8) +rxt(123)* y(17))* y(21)
         prod(53) = 0.
         loss(42) = (rxt(96)* y(6) +rxt(97)* y(18))* y(22)
         prod(42) = (rxt(93)*y(20) +.209*rxt(98)*y(24))*y(17)
         loss(71) = (rxt(100)* y(8) +rxt(99)* y(17) + rxt(16))* y(23)
         prod(71) = (rxt(96)*y(22) +rxt(109)*y(37) +.270*rxt(116)*y(41))*y(6) &
                  + (.400*rxt(94)*y(20) +.050*rxt(140)*y(33))*y(1) &
                  + (.640*rxt(113)*y(38) +rxt(122)*y(45))*y(17) &
                  + (.750*rxt(111)*y(13) +2.000*rxt(112)*y(37))*y(37) +rxt(17)*y(24) &
                  +rxt(24)*y(38) +.320*rxt(35)*y(80)
         loss(38) = (rxt(98)* y(17) + rxt(17))* y(24)
         prod(38) =rxt(97)*y(22)*y(18)
         loss(77) = (rxt(101)* y(6) +rxt(102)* y(7) +rxt(104)* y(13) +rxt(103)* y(18) &
                  + 2.*rxt(107)* y(25))* y(25)
         prod(77) = (.716*rxt(141)*y(87) +.500*rxt(158)*y(90) +.960*rxt(170)*y(93)) &
                 *y(6) + (.950*rxt(99)*y(23) +.500*rxt(105)*y(26) +rxt(178)*y(86)) &
                 *y(17) + (rxt(100)*y(23) +rxt(179)*y(86))*y(8) &
                  + (.360*rxt(143)*y(87) +rxt(160)*y(90))*y(13) &
                  + (.370*rxt(142)*y(87) +.150*rxt(171)*y(93))*y(18) + (.600*rxt(19) + &
                 rxt(106))*y(27) +.199*rxt(125)*y(21)*y(1) +.300*rxt(23)*y(33) &
                  +1.340*rxt(21)*y(34) +rxt(26)*y(43) +rxt(30)*y(47) +rxt(34)*y(79) &
                  +rxt(27)*y(86)
         loss(36) = (rxt(105)* y(17) + rxt(18))* y(26)
         prod(36) =.410*rxt(103)*y(25)*y(18)
         loss(20) = ( + rxt(19) + rxt(106))* y(27)
         prod(20) =rxt(102)*y(25)*y(7)
         loss(27) = (rxt(92)* y(1) +rxt(88)* y(17))* y(29)
         prod(27) = 0.
         loss(9) = (rxt(114)* y(17))* y(30)
         prod(9) = 0.
         loss(35) = (rxt(174)* y(17) + rxt(20) + rxt(163))* y(31)
         prod(35) =rxt(162)*y(90)*y(7)
         loss(75) = (rxt(126)* y(6) +rxt(128)* y(13) +rxt(127)* y(18) + 2.*rxt(129) &
                 * y(32) + rxt(124))* y(32)
         prod(75) = (rxt(123)*y(21) +.387*rxt(134)*y(50) +1.640*rxt(194)*y(39))*y(17) &
                  +1.700*rxt(196)*y(39)*y(8)
         loss(76) = (rxt(140)* y(1) +rxt(139)* y(17) + rxt(23))* y(33)
         prod(76) = (.550*rxt(126)*y(6) +.038*rxt(127)*y(18) +.280*rxt(128)*y(13) + &
                 .560*rxt(129)*y(32))*y(32) + (.035*rxt(182)*y(6) + &
                 .035*rxt(183)*y(8) +.220*rxt(184)*y(18))*y(95) &
                  + (.244*rxt(125)*y(21) +.442*rxt(195)*y(39))*y(1) +.402*rxt(29) &
                 *y(50)
         loss(74) = (rxt(148)* y(1) +rxt(149)* y(8) +rxt(146)* y(17) + rxt(21) &
                  + rxt(22))* y(34)
         prod(74) = (.350*rxt(126)*y(6) +.025*rxt(127)*y(18) +.180*rxt(128)*y(13) + &
                 .360*rxt(129)*y(32))*y(32) + (.035*rxt(182)*y(6) + &
                 .035*rxt(183)*y(8) +.015*rxt(184)*y(18))*y(95) &
                  + (.325*rxt(125)*y(21) +1.122*rxt(195)*y(39))*y(1) +.288*rxt(29) &
                 *y(50)
         loss(57) = (rxt(150)* y(6) +rxt(152)* y(13) +rxt(151)* y(18) + rxt(147)) &
                 * y(35)
         prod(57) = (.550*rxt(146)*y(34) +rxt(153)*y(36))*y(17)
         loss(24) = ((rxt(153) +rxt(154))* y(17))* y(36)
         prod(24) =.420*rxt(151)*y(35)*y(18)
         loss(45) = (rxt(109)* y(6) +rxt(111)* y(13) +rxt(110)* y(18) + 2.*rxt(112) &
                 * y(37))* y(37)
         prod(45) = (rxt(108)*y(28) +.360*rxt(113)*y(38))*y(17)
         loss(28) = (rxt(113)* y(17) + rxt(24))* y(38)
         prod(28) =rxt(110)*y(37)*y(18)
         loss(44) = (rxt(195)* y(1) +rxt(196)* y(8) +rxt(194)* y(17))* y(39)
         prod(44) = 0.
         loss(55) = (rxt(116)* y(6) +rxt(118)* y(13) +rxt(117)* y(18))* y(41)
         prod(55) = (rxt(115)*y(40) +rxt(114)*y(30) +rxt(119)*y(42))*y(17)
         loss(29) = (rxt(119)* y(17) + rxt(25))* y(42)
         prod(29) =rxt(117)*y(41)*y(18)
         loss(46) = (rxt(120)* y(17) + rxt(26))* y(43)
         prod(46) = (.820*rxt(116)*y(6) +.820*rxt(118)*y(13))*y(41) &
                  +.100*rxt(194)*y(39)*y(17) +.820*rxt(25)*y(42) +.320*rxt(35)*y(80)
         loss(41) = (rxt(121)* y(17))* y(44)
         prod(41) = (rxt(83)*y(13) +.250*rxt(111)*y(37) +.240*rxt(128)*y(32) + &
                 .250*rxt(143)*y(87))*y(13) +.036*rxt(94)*y(20)*y(1)
         loss(30) = (rxt(122)* y(17))* y(45)
         prod(30) = (.250*rxt(111)*y(37) +.300*rxt(167)*y(92))*y(13)
         loss(58) = (rxt(175)* y(17) + rxt(31))* y(46)
         prod(58) = (.090*rxt(131)*y(77) +.275*rxt(138)*y(84) +.716*rxt(141)*y(87)) &
                 *y(6) + (.060*rxt(132)*y(77) +.275*rxt(137)*y(84) + &
                 .370*rxt(142)*y(87))*y(18) +.360*rxt(143)*y(87)*y(13) +.500*rxt(124) &
                 *y(32) +rxt(90)*y(49) +rxt(34)*y(79)
         loss(61) = (rxt(180)* y(17) + rxt(30))* y(47)
         prod(61) = (.090*rxt(131)*y(77) +.725*rxt(138)*y(84) +.970*rxt(150)*y(35) + &
                 .850*rxt(156)*y(89) +rxt(168)*y(92))*y(6) + (.060*rxt(132)*y(77) + &
                 .725*rxt(137)*y(84) +.580*rxt(151)*y(35) +.850*rxt(157)*y(89) + &
                 rxt(166)*y(92))*y(18) + (.595*rxt(152)*y(35) +.700*rxt(167)*y(92)) &
                 *y(13) + (rxt(154)*y(36) +rxt(174)*y(31))*y(17) +.500*rxt(124)*y(32) &
                  +rxt(147)*y(35) +rxt(33)*y(78)
         loss(15) = ( + rxt(90) + rxt(91))* y(49)
         prod(15) =rxt(89)*y(48)*y(6)
         loss(37) = (rxt(89)* y(6))* y(48)
         prod(37) =.750*rxt(88)*y(29)*y(17)
         loss(70) = (rxt(182)* y(6) +rxt(183)* y(8) +rxt(184)* y(18))* y(95)
         prod(70) =rxt(181)*y(21)*y(8) +.360*rxt(186)*y(96)*y(17)
         loss(31) = ((rxt(185) +rxt(186))* y(17))* y(96)
         prod(31) =.765*rxt(184)*y(95)*y(18)
         loss(49) = (rxt(189)* y(6) +rxt(188)* y(8) +rxt(190)* y(18))* y(97)
         prod(49) = (rxt(187)*y(8) +rxt(192)*y(17))*y(98)
         loss(59) = (rxt(191)* y(1) +rxt(187)* y(8) +rxt(192)* y(17))* y(98)
         prod(59) = (.700*rxt(182)*y(6) +.700*rxt(183)*y(8))*y(95)
         loss(40) = ((rxt(134) +rxt(135))* y(17) + rxt(29))* y(50)
         prod(40) =.937*rxt(127)*y(32)*y(18)
         loss(12) = (rxt(201)* y(17))* y(52)
         prod(12) = (rxt(202)*y(17) +.750*rxt(203)*y(17) +rxt(204)*y(8))*y(54)
         loss(1) = 0.
         prod(1) =rxt(201)*y(52)*y(17)
         loss(16) = (rxt(204)* y(8) + (rxt(202) +rxt(203))* y(17))* y(54)
         prod(16) = 0.
         loss(10) = (rxt(206)* y(17) + rxt(205))* y(55)
         prod(10) = 0.
         loss(2) = 0.
         prod(2) = 0.
         loss(3) = 0.
         prod(3) =rxt(205)*y(55)
         loss(87) = (rxt(239)* y(11) +rxt(215)* y(17) +rxt(238)* y(59) +rxt(242) &
                 * y(60) +rxt(243)* y(65))* y(58)
         prod(87) = (rxt(214)*y(12) +rxt(216)*y(18) +rxt(219)*y(15))*y(61) &
                  +rxt(233)*y(62)*y(17)
         loss(43) = (rxt(238)* y(58) +rxt(244)* y(66) + rxt(37))* y(59)
         prod(43) =rxt(217)*y(62)*y(18) +rxt(241)*y(73)*y(60)
         loss(50) = (rxt(213)* y(2) +rxt(242)* y(58) +rxt(241)* y(73) + rxt(36)) &
                 * y(60)
         prod(50) =rxt(212)*y(62)*y(7)
         loss(86) = (rxt(209)* y(1) +rxt(214)* y(12) +rxt(219)* y(15) +rxt(216)* y(18) &
                 )* y(61)
         prod(86) = (rxt(210)*y(2) +rxt(211)*y(6) +rxt(218)*y(17) +rxt(225)*y(69)) &
                 *y(62) + (rxt(215)*y(17) +rxt(239)*y(11))*y(58) +rxt(37)*y(59) &
                  +rxt(36)*y(60) +2.000*rxt(38)*y(63) +2.000*rxt(43)*y(64) +rxt(41) &
                 *y(70)
         loss(89) = (rxt(210)* y(2) +rxt(211)* y(6) +rxt(212)* y(7) + (rxt(218) + &
                 rxt(233))* y(17) +rxt(217)* y(18) + 2.*rxt(221)* y(62) + (rxt(225) + &
                 rxt(232))* y(69))* y(62)
         prod(89) =rxt(209)*y(61)*y(1) +rxt(213)*y(60)*y(2) +2.000*rxt(222)*y(63)
         loss(11) = ( + rxt(38) + rxt(222))* y(63)
         prod(11) =rxt(221)*y(62)*y(62)
         loss(13) = ( + rxt(43))* y(64)
         prod(13) = (rxt(238)*y(59) +rxt(242)*y(60))*y(58)
         loss(56) = (rxt(228)* y(2) +rxt(243)* y(58) +rxt(245)* y(66) + rxt(40)) &
                 * y(65)
         prod(56) =rxt(226)*y(69)*y(18) +rxt(246)*y(73)*y(67)
         loss(62) = (rxt(231)* y(17) +rxt(244)* y(59) +rxt(245)* y(65))* y(66)
         prod(62) = (rxt(229)*y(18) +rxt(230)*y(15))*y(68)
         loss(22) = (rxt(246)* y(73) + rxt(39))* y(67)
         prod(22) =rxt(224)*y(69)*y(7)
         loss(79) = (rxt(223)* y(1) +rxt(230)* y(15) +rxt(229)* y(18))* y(68)
         prod(79) = (rxt(42) +rxt(225)*y(62) +rxt(227)*y(6))*y(69) + (rxt(40) + &
                 2.000*rxt(245)*y(66))*y(65) +rxt(231)*y(66)*y(17) +rxt(39)*y(67) &
                  +rxt(41)*y(70)
         loss(81) = (rxt(227)* y(6) +rxt(224)* y(7) +rxt(226)* y(18) + (rxt(225) + &
                 rxt(232))* y(62) + rxt(42))* y(69)
         prod(81) =rxt(223)*y(68)*y(1) +rxt(228)*y(65)*y(2)
         loss(33) = ( + rxt(41))* y(70)
         prod(33) =rxt(243)*y(65)*y(58) +rxt(244)*y(66)*y(59) +rxt(232)*y(69)*y(62)
         loss(4) = ( + rxt(247))* y(71)
         prod(4) =rxt(79)*y(17)*y(12)
         loss(34) = (rxt(207)* y(1) + rxt(208))* y(72)
         prod(34) = (rxt(49)*y(16) +rxt(51)*y(2))*y(17) +.200*rxt(80)*y(12)*y(3) &
                  +rxt(12)*y(15)
         loss(5) = 0.
         prod(5) = (.240*rxt(128)*y(32) +.250*rxt(143)*y(87) +.150*rxt(152)*y(35)) &
                 *y(13) +.480*rxt(129)*y(32)*y(32)
         loss(6) = 0.
         prod(6) = (.791*rxt(98)*y(24) +.613*rxt(134)*y(50))*y(17) &
                  + (.300*rxt(128)*y(13) +.500*rxt(129)*y(32))*y(32) &
                  + (.230*rxt(182)*y(6) +.230*rxt(183)*y(8))*y(95) &
                  +.033*rxt(142)*y(87)*y(18) +rxt(32)*y(76) +.130*rxt(35)*y(80)
         loss(47) = (rxt(133)* y(1) +rxt(130)* y(17) + rxt(32))* y(76)
         prod(47) =.100*rxt(126)*y(32)*y(6)
         loss(63) = (rxt(131)* y(6) +rxt(132)* y(18))* y(77)
         prod(63) =rxt(130)*y(76)*y(17)
         loss(66) = (rxt(155)* y(17) + rxt(33))* y(78)
         prod(66) = (.440*rxt(131)*y(77) +.030*rxt(150)*y(35))*y(6) &
                  +.390*rxt(133)*y(76)*y(1) +.280*rxt(132)*y(77)*y(18)
         loss(64) = (rxt(145)* y(17) + rxt(34))* y(79)
         prod(64) = (.260*rxt(131)*y(77) +.035*rxt(141)*y(87))*y(6) &
                  +.610*rxt(133)*y(76)*y(1) +.160*rxt(132)*y(77)*y(18)
         loss(67) = (rxt(193)* y(17) + rxt(35))* y(80)
         prod(67) = (.040*rxt(170)*y(93) +rxt(189)*y(97))*y(6) + (rxt(95)*y(20) + &
                 rxt(188)*y(97))*y(8) +.300*rxt(191)*y(98)*y(1) +.640*rxt(186)*y(96) &
                 *y(17)
         loss(7) = 0.
         prod(7) = (.791*rxt(144)*y(88) +rxt(185)*y(96))*y(17) &
                  + (.130*rxt(142)*y(18) +.250*rxt(143)*y(13))*y(87) +.190*rxt(35) &
                 *y(80)
         loss(8) = 0.
         prod(8) =rxt(193)*y(80)*y(17)
         loss(14) = (rxt(136)* y(17))* y(83)
         prod(14) =rxt(135)*y(50)*y(17)
         loss(51) = (rxt(138)* y(6) +rxt(137)* y(18))* y(84)
         prod(51) =rxt(136)*y(83)*y(17)
         loss(52) = (rxt(177)* y(8) +rxt(176)* y(17) + rxt(28))* y(85)
         prod(52) = (.275*rxt(137)*y(18) +.275*rxt(138)*y(6))*y(84) &
                  +.700*rxt(191)*y(98)*y(1) +.200*rxt(175)*y(46)*y(17) +.250*rxt(124) &
                 *y(32)
         loss(69) = (rxt(179)* y(8) +rxt(178)* y(17) + rxt(27))* y(86)
         prod(69) = (.950*rxt(140)*y(33) +.880*rxt(148)*y(34) +.700*rxt(191)*y(98)) &
                 *y(1) + (.275*rxt(138)*y(84) +.249*rxt(141)*y(87) + &
                 .070*rxt(156)*y(89))*y(6) + (.650*rxt(145)*y(79) +rxt(173)*y(94) + &
                 rxt(180)*y(47))*y(17) + (.275*rxt(137)*y(84) +.120*rxt(142)*y(87) + &
                 .070*rxt(157)*y(89))*y(18) + (.140*rxt(143)*y(87) + &
                 .255*rxt(152)*y(35))*y(13) +.250*rxt(124)*y(32) +rxt(33)*y(78)
         loss(65) = (rxt(141)* y(6) +rxt(143)* y(13) +rxt(142)* y(18))* y(87)
         prod(65) = (rxt(139)*y(33) +.209*rxt(144)*y(88))*y(17)
         loss(18) = (rxt(144)* y(17))* y(88)
         prod(18) =.380*rxt(142)*y(87)*y(18)
         loss(48) = (rxt(156)* y(6) +rxt(157)* y(18))* y(89)
         prod(48) =rxt(155)*y(78)*y(17)
         loss(73) = (rxt(158)* y(6) +rxt(162)* y(7) + (rxt(160) +rxt(161))* y(13) &
                  +rxt(159)* y(18))* y(90)
         prod(73) = (.660*rxt(21) +.450*rxt(146)*y(17) +rxt(149)*y(8))*y(34) &
                  + (rxt(20) +rxt(163))*y(31) +rxt(164)*y(91)*y(17)
         loss(25) = ((rxt(164) +rxt(165))* y(17))* y(91)
         prod(25) =.410*rxt(159)*y(90)*y(18)
         loss(60) = ((rxt(168) +rxt(169))* y(6) +rxt(167)* y(13) +rxt(166)* y(18)) &
                 * y(92)
         prod(60) =rxt(165)*y(91)*y(17)
         loss(72) = (rxt(170)* y(6) +rxt(171)* y(18))* y(93)
         prod(72) = (rxt(120)*y(43) +rxt(172)*y(94))*y(17)
         loss(26) = ((rxt(172) +rxt(173))* y(17))* y(94)
         prod(26) =.850*rxt(171)*y(93)*y(18)

      end subroutine imp_prod_loss

      end module mo_imp_prod_loss_mod

      module mo_rodas_prod_loss_mod

      contains

      subroutine rodas_prod_loss( prod, loss, y, rxt, het_rates )

      use CHEM_MODS_MOD, only : clscnt5, rxntot, hetcnt, clsze
      use MO_GRID_MOD, only : pcnstm1

      implicit none

!--------------------------------------------------------------------
! ... Dummy args
!--------------------------------------------------------------------
      real, dimension(:), intent(out) :: &
            prod, &
            loss
      real, intent(in) :: y(:)
      real, intent(in) :: rxt(:)
      real, intent(in) :: het_rates(:)


      end subroutine rodas_prod_loss

      end module mo_rodas_prod_loss_mod

      module MO_INDPRD_MOD

      private
      public :: indprd

      contains

      subroutine indprd( class, prod, y, extfrc, rxt )

      implicit none

!--------------------------------------------------------------------
! ... Dummy arguments
!--------------------------------------------------------------------
      integer, intent(in) :: class
      real, intent(in) :: y(:,:)
      real, intent(in) :: rxt(:,:)
      real, intent(in) :: extfrc(:,:)
      real, intent(inout) :: prod(:,:)

!--------------------------------------------------------------------
! ... "Independent" production for Explicit species
!--------------------------------------------------------------------
      if( class == 1 ) then
         prod(:,1) =rxt(:,237)*y(:,7)*y(:,5)

         prod(:,2) = 0.

         prod(:,3) = (.500*rxt(:,92)*y(:,29) +.420*rxt(:,94)*y(:,20) + &
                 .522*rxt(:,125)*y(:,21) +.535*rxt(:,140)*y(:,33) + &
                 .569*rxt(:,148)*y(:,34) +.450*rxt(:,191)*y(:,98))*y(:,1) &
                  + (rxt(:,12) +rxt(:,13) +rxt(:,86)*y(:,8) +rxt(:,87)*y(:,17) + &
                 rxt(:,219)*y(:,61) +rxt(:,230)*y(:,68))*y(:,15) &
                  + (.050*rxt(:,99)*y(:,23) +rxt(:,174)*y(:,31) + &
                 .800*rxt(:,175)*y(:,46) +2.000*rxt(:,176)*y(:,85) + &
                 rxt(:,178)*y(:,86))*y(:,17) + (.251*rxt(:,138)*y(:,84) + &
                 .970*rxt(:,150)*y(:,35) +.500*rxt(:,158)*y(:,90) +rxt(:,189)*y(:,97)) &
                 *y(:,6) + (2.000*rxt(:,177)*y(:,85) +rxt(:,179)*y(:,86) + &
                 rxt(:,188)*y(:,97))*y(:,8) + (.251*rxt(:,137)*y(:,84) + &
                 .580*rxt(:,151)*y(:,35) +.390*rxt(:,159)*y(:,90))*y(:,18) &
                  + (rxt(:,147) +.595*rxt(:,152)*y(:,13))*y(:,35) +rxt(:,16)*y(:,23) &
                  +.700*rxt(:,23)*y(:,33) +1.340*rxt(:,22)*y(:,34) +rxt(:,31)*y(:,46) &
                  +.500*rxt(:,33)*y(:,78) +2.000*rxt(:,28)*y(:,85) +rxt(:,27)*y(:,86)

         prod(:,4) = 0.

         prod(:,5) = 0.

         prod(:,6) =rxt(:,13)*y(:,15)

         prod(:,7) = (rxt(:,56)*y(:,19) +rxt(:,57)*y(:,18) +rxt(:,58)*y(:,17) + &
                 rxt(:,74)*y(:,9) +rxt(:,77)*y(:,10) +rxt(:,85)*y(:,14) + &
                 rxt(:,87)*y(:,15) +rxt(:,99)*y(:,23) +rxt(:,119)*y(:,42) + &
                 rxt(:,120)*y(:,43) +rxt(:,172)*y(:,94) +rxt(:,173)*y(:,94) + &
                 rxt(:,193)*y(:,80) +rxt(:,206)*y(:,55) +rxt(:,215)*y(:,58) + &
                 rxt(:,231)*y(:,66))*y(:,17) + (rxt(:,238)*y(:,59) + &
                 rxt(:,243)*y(:,65))*y(:,58) + (rxt(:,244)*y(:,59) + &
                 rxt(:,245)*y(:,65))*y(:,66) +rxt(:,199)*y(:,18)

         prod(:,8) = 0.

!--------------------------------------------------------------------
! ... "Independent" production for Implicit species
!--------------------------------------------------------------------
      else if( class == 4 ) then
         prod(:,84) = 0.

         prod(:,19) =rxt(:,4)*y(:,4)

         prod(:,91) =2.000*rxt(:,1)

         prod(:,17) = 0.

         prod(:,85) = 0.

         prod(:,90) = 0.

         prod(:,80) = 0.

         prod(:,68) = 0.

         prod(:,23) = 0.

         prod(:,39) = 0.

         prod(:,78) = 0.

         prod(:,32) = 0.

         prod(:,88) = 0.

         prod(:,83) =rxt(:,14)*y(:,73)

         prod(:,82) = 0.

         prod(:,21) = 0.

         prod(:,54) = 0.

         prod(:,53) = 0.

         prod(:,42) = 0.

         prod(:,71) = 0.

         prod(:,38) = 0.

         prod(:,77) = 0.

         prod(:,36) = 0.

         prod(:,20) = 0.

         prod(:,27) = 0.

         prod(:,9) = 0.

         prod(:,35) = 0.

         prod(:,75) = 0.

         prod(:,76) = 0.

         prod(:,74) = 0.

         prod(:,57) = 0.

         prod(:,24) = 0.

         prod(:,45) = 0.

         prod(:,28) = 0.

         prod(:,44) = 0.

         prod(:,55) = 0.

         prod(:,29) = 0.

         prod(:,46) = 0.

         prod(:,41) = 0.

         prod(:,30) = 0.

         prod(:,58) = 0.

         prod(:,61) = 0.

         prod(:,15) = 0.

         prod(:,37) = 0.

         prod(:,70) = 0.

         prod(:,31) = 0.

         prod(:,49) = 0.

         prod(:,59) = 0.

         prod(:,40) = 0.

         prod(:,12) = 0.

         prod(:,1) = 0.

         prod(:,16) = 0.

         prod(:,10) = 0.

         prod(:,2) = 0.

         prod(:,3) = 0.

         prod(:,87) = 0.

         prod(:,43) = 0.

         prod(:,50) = 0.

         prod(:,86) = 0.

         prod(:,89) = 0.

         prod(:,11) = 0.

         prod(:,13) = 0.

         prod(:,56) = 0.

         prod(:,62) = 0.

         prod(:,22) = 0.

         prod(:,79) = 0.

         prod(:,81) = 0.

         prod(:,33) = 0.

         prod(:,4) = 0.

         prod(:,34) =rxt(:,14)*y(:,73)

         prod(:,5) = 0.

         prod(:,6) = 0.

         prod(:,47) = 0.

         prod(:,63) = 0.

         prod(:,66) = 0.

         prod(:,64) = 0.

         prod(:,67) = 0.

         prod(:,7) = 0.

         prod(:,8) = 0.

         prod(:,14) = 0.

         prod(:,51) = 0.

         prod(:,52) = 0.

         prod(:,69) = 0.

         prod(:,65) = 0.

         prod(:,18) = 0.

         prod(:,48) = 0.

         prod(:,73) = 0.

         prod(:,25) = 0.

         prod(:,60) = 0.

         prod(:,72) = 0.

         prod(:,26) = 0.

      end if

      end subroutine INDPRD

      end module MO_INDPRD_MOD

      module MO_imp_LIN_MATRIX_MOD

      contains

      subroutine imp_linmat01( mat, y, rxt, het_rates )
!----------------------------------------------
! ... Linear Matrix entries for Implicit species
!----------------------------------------------

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, hetcnt, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(in) :: het_rates(hetcnt)
      real, intent(inout) :: mat(imp_nzcnt)

         mat(830) = -( rxt(2) + rxt(3) )
         mat(991) = rxt(44)

         mat(44) = -( rxt(60) + rxt(61) + rxt(50)*y(51) + rxt(62)*y(73) + rxt(63)*y(4) &
                      + rxt(64)*y(4) + rxt(80)*y(12) )
         mat(797) = rxt(2)

         mat(998) = -( rxt(44) )
         mat(837) = rxt(3)
         mat(884) = rxt(5)
         mat(980) = rxt(6)
         mat(643) = .890*rxt(9)
         mat(661) = rxt(42)
         mat(39) = rxt(46)
         mat(51) = rxt(60) + rxt(61)

         mat(36) = -( rxt(46) )
         mat(840) = rxt(5)

         mat(878) = -( rxt(5) )
         mat(974) = rxt(6) + .500*rxt(200)
         mat(638) = .110*rxt(9)
         mat(37) = rxt(46)
         mat(49) = 2.000*rxt(63)*y(4)

         mat(979) = -( rxt(6) + rxt(200) )
         mat(148) = rxt(7) + rxt(71)
         mat(432) = rxt(8)
         mat(642) = .890*rxt(9)
         mat(68) = rxt(10) + rxt(78)
         mat(56) = .600*rxt(19) + rxt(106)
         mat(123) = rxt(20) + rxt(163)
         mat(214) = rxt(32)
         mat(416) = rxt(33)
         mat(387) = rxt(34)
         mat(428) = rxt(35)

         mat(634) = -( rxt(9) + rxt(198) )
         mat(145) = rxt(7) + rxt(71)
         mat(55) = .400*rxt(19)
         mat(238) = rxt(36)
         mat(64) = rxt(39)

         mat(429) = -( rxt(8) )
         mat(144) = 2.000*rxt(197) + 2.000*rxt(72)*y(73) + 2.000*rxt(240)*y(73)
         mat(623) = rxt(198)
         mat(963) = .500*rxt(200)
         mat(236) = rxt(241)*y(73)
         mat(62) = rxt(246)*y(73)

         mat(65) = -( rxt(10) + rxt(78) )

         mat(143) = -( rxt(7) + rxt(71) + rxt(197) + rxt(72)*y(73) + rxt(240)*y(73) )

         mat(463) = rxt(16)
         mat(126) = rxt(18)
         mat(54) = .400*rxt(19)
         mat(550) = .300*rxt(23)
         mat(203) = rxt(26)
         mat(425) = .180*rxt(35)
         mat(783) = rxt(79)*y(12)
         mat(46) = .750*rxt(80)*y(12)
         mat(885) = rxt(214)*y(12)

         mat(107) = -( rxt(11) )

         mat(930) = -( rxt(12) + rxt(13) )
         mat(111) = rxt(11)
         mat(142) = rxt(17)
         mat(513) = 1.340*rxt(21)
         mat(158) = .690*rxt(29)
         mat(353) = rxt(30)
         mat(324) = rxt(31)
         mat(415) = .500*rxt(33)
         mat(30) = 2.000*rxt(91)
         mat(539) = rxt(124)
         mat(50) = .250*rxt(80)*y(12)

         mat(788) = -( rxt(48)*y(16) + rxt(49)*y(16) + rxt(59)*y(51) + rxt(79)*y(12) &
                      + rxt(108)*y(28) + rxt(115)*y(40) )
         mat(431) = rxt(8)
         mat(110) = rxt(11)
         mat(59) = 2.000*rxt(15)
         mat(141) = rxt(17)
         mat(127) = rxt(18)
         mat(510) = .660*rxt(22)
         mat(91) = rxt(24)
         mat(96) = rxt(25)
         mat(176) = rxt(37)
         mat(302) = rxt(40)
         mat(536) = rxt(124)
         mat(314) = rxt(147)
         mat(972) = .500*rxt(200)
         mat(48) = rxt(50)*y(51) + 2.000*rxt(62)*y(73) + .750*rxt(80)*y(12)

         mat(711) = -( rxt(199) )
         mat(66) = rxt(10) + rxt(78)
         mat(109) = rxt(11)
         mat(924) = rxt(12)
         mat(465) = rxt(16)
         mat(140) = rxt(17)
         mat(509) = 1.340*rxt(21)
         mat(90) = rxt(24)
         mat(95) = rxt(25)
         mat(437) = rxt(27)
         mat(257) = 2.000*rxt(28)
         mat(156) = rxt(29)
         mat(351) = rxt(30)
         mat(322) = 2.000*rxt(31)
         mat(210) = rxt(32)
         mat(412) = rxt(33)
         mat(426) = .270*rxt(35)
         mat(29) = rxt(90) + rxt(91)
         mat(535) = rxt(124)
         mat(116) = rxt(208)
         mat(787) = rxt(48)*y(16) + rxt(59)*y(51)
         mat(47) = rxt(50)*y(51) + .200*rxt(80)*y(12)

         mat(57) = -( rxt(15) )

         mat(541) = .700*rxt(23)



         mat(461) = -( rxt(16) )
         mat(139) = rxt(17)
         mat(89) = rxt(24)
         mat(422) = .320*rxt(35)

         mat(137) = -( rxt(17) )

         mat(53) = .600*rxt(19) + rxt(106)
         mat(506) = 1.340*rxt(21)
         mat(549) = .300*rxt(23)
         mat(202) = rxt(26)
         mat(435) = rxt(27)
         mat(350) = rxt(30)
         mat(382) = rxt(34)

         mat(124) = -( rxt(18) )

         mat(52) = -( rxt(19) + rxt(106) )



         mat(119) = -( rxt(20) + rxt(163) )

         mat(530) = -( rxt(124) )

         mat(548) = -( rxt(23) )
         mat(155) = .402*rxt(29)

         mat(505) = -( rxt(21) + rxt(22) )
         mat(153) = .288*rxt(29)

         mat(308) = -( rxt(147) )


         mat(752) = rxt(108)*y(28)

         mat(87) = -( rxt(24) )


         mat(761) = rxt(115)*y(40)

         mat(92) = -( rxt(25) )

         mat(200) = -( rxt(26) )
         mat(93) = .820*rxt(25)
         mat(420) = .320*rxt(35)



         mat(319) = -( rxt(31) )
         mat(378) = rxt(34)
         mat(28) = rxt(90)
         mat(522) = .500*rxt(124)

         mat(348) = -( rxt(30) )
         mat(407) = rxt(33)
         mat(523) = .500*rxt(124)
         mat(309) = rxt(147)

         mat(27) = -( rxt(90) + rxt(91) )






         mat(151) = -( rxt(29) )




         mat(13) = -( rxt(205) )


         mat(12) = rxt(205)

         mat(892) = rxt(214)*y(12)

         mat(173) = -( rxt(37) )
         mat(233) = rxt(241)*y(73)

         mat(234) = -( rxt(36) + rxt(241)*y(73) )

         mat(891) = -( rxt(214)*y(12) )
         mat(240) = rxt(36)
         mat(177) = rxt(37)
         mat(17) = 2.000*rxt(38)
         mat(114) = rxt(41)
         mat(23) = 2.000*rxt(43)

         mat(18) = 2.000*rxt(222)

         mat(16) = -( rxt(38) + rxt(222) )

         mat(22) = -( rxt(43) )

         mat(298) = -( rxt(40) )
         mat(61) = rxt(246)*y(73)


         mat(60) = -( rxt(39) + rxt(246)*y(73) )

         mat(63) = rxt(39)
         mat(300) = rxt(40)
         mat(113) = rxt(41)
         mat(649) = rxt(42)

         mat(651) = -( rxt(42) )

         mat(112) = -( rxt(41) )

         mat(4) = -( rxt(247) )
         mat(722) = rxt(79)*y(12)

         mat(115) = -( rxt(208) )
         mat(918) = rxt(12)
         mat(743) = rxt(49)*y(16)
         mat(45) = .200*rxt(80)*y(12)


         mat(205) = rxt(32)
         mat(417) = .130*rxt(35)

         mat(206) = -( rxt(32) )


         mat(408) = -( rxt(33) )

         mat(379) = -( rxt(34) )

         mat(421) = -( rxt(35) )

         mat(418) = .190*rxt(35)




         mat(254) = -( rxt(28) )
         mat(521) = .250*rxt(124)

         mat(434) = -( rxt(27) )
         mat(409) = rxt(33)
         mat(528) = .250*rxt(124)




         mat(121) = rxt(20) + rxt(163)
         mat(504) = .660*rxt(21)






      end subroutine imp_linmat01

      subroutine imp_linmat( mat, y, rxt, het_rates )
!----------------------------------------------
! ... Linear Matrix entries for Implicit species
!----------------------------------------------

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, hetcnt, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(in) :: het_rates(hetcnt)
      real, intent(inout) :: mat(imp_nzcnt)

      call imp_linmat01( mat, y, rxt, het_rates )

      end subroutine imp_linmat

      end module MO_imp_LIN_MATRIX_MOD

      module MO_rod_LIN_MATRIX_MOD

      contains

      subroutine rod_linmat( mat, y, rxt, het_rates )
!----------------------------------------------
! ... Linear Matrix entries for Implicit species
!----------------------------------------------

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, hetcnt, rod_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(in) :: het_rates(hetcnt)
      real, intent(inout) :: mat(rod_nzcnt)


      end subroutine rod_linmat

      end module MO_rod_LIN_MATRIX_MOD

      module MO_imp_NLN_MATRIX_MOD

      contains

      subroutine imp_nlnmat01( mat, y, rxt )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat(830) = -(rxt(45)*y(2) + rxt(53)*y(17) + rxt(54)*y(18) + rxt(66)*y(6) &
                      + rxt(68)*y(7) + rxt(92)*y(29) + rxt(94)*y(20) + rxt(125)*y(21) &
                      + rxt(133)*y(76) + rxt(140)*y(33) + rxt(148)*y(34) + rxt(191) &
                      *y(98) + rxt(195)*y(39) + rxt(207)*y(72) + rxt(209)*y(61) &
                      + rxt(223)*y(68))
         mat(991) = -rxt(45)*y(1)
         mat(789) = -rxt(53)*y(1)
         mat(713) = -rxt(54)*y(1)
         mat(877) = -rxt(66)*y(1)
         mat(973) = -rxt(68)*y(1)
         mat(85) = -rxt(92)*y(1)
         mat(281) = -rxt(94)*y(1)
         mat(271) = -rxt(125)*y(1)
         mat(212) = -rxt(133)*y(1)
         mat(554) = -rxt(140)*y(1)
         mat(511) = -rxt(148)*y(1)
         mat(334) = -rxt(191)*y(1)
         mat(186) = -rxt(195)*y(1)
         mat(118) = -rxt(207)*y(1)
         mat(889) = -rxt(209)*y(1)
         mat(606) = -rxt(223)*y(1)

         mat(713) = mat(713) + .150*rxt(103)*y(25) + .250*rxt(190)*y(97) &
                      + .150*rxt(159)*y(90)
         mat(565) = .150*rxt(103)*y(18)
         mat(229) = .250*rxt(190)*y(18)
         mat(495) = .150*rxt(159)*y(18)


         mat(998) = -(rxt(45)*y(1) + rxt(51)*y(17) + rxt(52)*y(18) + rxt(67)*y(7) &
                      + rxt(210)*y(62) + rxt(213)*y(60) + rxt(228)*y(65) + rxt(236) &
                      *y(6))
         mat(837) = -rxt(45)*y(2)
         mat(796) = -rxt(51)*y(2)
         mat(720) = -rxt(52)*y(2)
         mat(980) = -rxt(67)*y(2)
         mat(952) = -rxt(210)*y(2)
         mat(243) = -rxt(213)*y(2)
         mat(305) = -rxt(228)*y(2)
         mat(884) = -rxt(236)*y(2)

         mat(837) = mat(837) + .765*rxt(195)*y(39)
         mat(39) = rxt(47)*y(6) + rxt(237)*y(7)
         mat(884) = mat(884) + rxt(47)*y(5)
         mat(980) = mat(980) + rxt(237)*y(5)
         mat(796) = mat(796) + 2.000*rxt(58)*y(17)
         mat(188) = .765*rxt(195)*y(1)

         mat(36) = -(rxt(47)*y(6) + rxt(237)*y(7))
         mat(840) = -rxt(47)*y(5)
         mat(953) = -rxt(237)*y(5)

         mat(878) = -(rxt(47)*y(5) + rxt(65)*y(18) + rxt(66)*y(1) + rxt(75)*y(8) &
                      + rxt(81)*y(13) + rxt(89)*y(48) + rxt(96)*y(22) + rxt(101)*y(25) &
                      + rxt(109)*y(37) + rxt(116)*y(41) + rxt(126)*y(32) + rxt(131) &
                      *y(77) + rxt(138)*y(84) + rxt(141)*y(87) + rxt(150)*y(35) &
                      + rxt(156)*y(89) + rxt(158)*y(90) + (rxt(168) + rxt(169) &
                      ) * y(92) + rxt(170)*y(93) + rxt(182)*y(95) + rxt(189)*y(97) &
                      + rxt(211)*y(62) + rxt(227)*y(69) + rxt(236)*y(2))
         mat(37) = -rxt(47)*y(6)
         mat(714) = -rxt(65)*y(6)
         mat(831) = -rxt(66)*y(6)
         mat(638) = -rxt(75)*y(6)
         mat(598) = -rxt(81)*y(6)
         mat(133) = -rxt(89)*y(6)
         mat(168) = -rxt(96)*y(6)
         mat(566) = -rxt(101)*y(6)
         mat(197) = -rxt(109)*y(6)
         mat(294) = -rxt(116)*y(6)
         mat(538) = -rxt(126)*y(6)
         mat(375) = -rxt(131)*y(6)
         mat(251) = -rxt(138)*y(6)
         mat(403) = -rxt(141)*y(6)
         mat(315) = -rxt(150)*y(6)
         mat(221) = -rxt(156)*y(6)
         mat(496) = -rxt(158)*y(6)
         mat(345) = -(rxt(168) + rxt(169)) * y(6)
         mat(479) = -rxt(170)*y(6)
         mat(457) = -rxt(182)*y(6)
         mat(230) = -rxt(189)*y(6)
         mat(946) = -rxt(211)*y(6)
         mat(655) = -rxt(227)*y(6)
         mat(992) = -rxt(236)*y(6)

         mat(992) = mat(992) + rxt(67)*y(7)
         mat(974) = rxt(67)*y(2) + rxt(234)*y(8)
         mat(638) = mat(638) + rxt(234)*y(7)

         mat(979) = -(rxt(67)*y(2) + rxt(68)*y(1) + rxt(70)*y(8) + rxt(73)*y(17) &
                      + rxt(76)*y(18) + rxt(102)*y(25) + rxt(162)*y(90) + rxt(212) &
                      *y(62) + rxt(224)*y(69) + rxt(237)*y(5))
         mat(997) = -rxt(67)*y(7)
         mat(836) = -rxt(68)*y(7)
         mat(642) = -rxt(70)*y(7)
         mat(795) = -rxt(73)*y(7)
         mat(719) = -rxt(76)*y(7)
         mat(568) = -rxt(102)*y(7)
         mat(498) = -rxt(162)*y(7)
         mat(951) = -rxt(212)*y(7)
         mat(660) = -rxt(224)*y(7)
         mat(38) = -rxt(237)*y(7)

         mat(836) = mat(836) + rxt(66)*y(6) + .700*rxt(191)*y(98)
         mat(997) = mat(997) + rxt(236)*y(6)
         mat(883) = rxt(66)*y(1) + rxt(236)*y(2) + 2.000*rxt(75)*y(8) + rxt(81)*y(13) &
                      + rxt(65)*y(18) + rxt(96)*y(22) + rxt(101)*y(25) + .900*rxt(126) &
                      *y(32) + .970*rxt(150)*y(35) + rxt(109)*y(37) + rxt(116)*y(41) &
                      + rxt(89)*y(48) + 1.300*rxt(182)*y(95) + rxt(189)*y(97) &
                      + rxt(211)*y(62) + rxt(227)*y(69) + .880*rxt(131)*y(77) &
                      + rxt(138)*y(84) + .965*rxt(141)*y(87) + 1.850*rxt(156)*y(89) &
                      + rxt(158)*y(90) + rxt(168)*y(92) + .960*rxt(170)*y(93)
         mat(642) = mat(642) + 2.000*rxt(75)*y(6) + 4.000*rxt(235)*y(8) + rxt(69) &
                      *y(18) + rxt(196)*y(39) + 1.300*rxt(183)*y(95) + rxt(188)*y(97) &
                      + rxt(204)*y(54)
         mat(68) = rxt(77)*y(17)
         mat(148) = rxt(239)*y(58)
         mat(600) = rxt(81)*y(6)
         mat(795) = mat(795) + rxt(77)*y(10) + rxt(174)*y(31) + rxt(185)*y(96)
         mat(719) = mat(719) + rxt(65)*y(6) + rxt(69)*y(8) + .235*rxt(184)*y(95) &
                      + .060*rxt(132)*y(77) + .850*rxt(157)*y(89)
         mat(170) = rxt(96)*y(6)
         mat(568) = mat(568) + rxt(101)*y(6)
         mat(123) = rxt(174)*y(17)
         mat(540) = .900*rxt(126)*y(6)
         mat(317) = .970*rxt(150)*y(6)
         mat(199) = rxt(109)*y(6)
         mat(187) = rxt(196)*y(8)
         mat(296) = rxt(116)*y(6)
         mat(135) = rxt(89)*y(6)
         mat(459) = 1.300*rxt(182)*y(6) + 1.300*rxt(183)*y(8) + .235*rxt(184)*y(18)
         mat(106) = rxt(185)*y(17)
         mat(231) = rxt(189)*y(6) + rxt(188)*y(8)
         mat(336) = .700*rxt(191)*y(1)
         mat(35) = rxt(204)*y(8)
         mat(916) = rxt(239)*y(11)
         mat(951) = mat(951) + rxt(211)*y(6)
         mat(660) = mat(660) + rxt(227)*y(6)
         mat(377) = .880*rxt(131)*y(6) + .060*rxt(132)*y(18)
         mat(253) = rxt(138)*y(6)
         mat(405) = .965*rxt(141)*y(6)
         mat(223) = 1.850*rxt(156)*y(6) + .850*rxt(157)*y(18)
         mat(498) = mat(498) + rxt(158)*y(6)
         mat(347) = rxt(168)*y(6)
         mat(481) = .960*rxt(170)*y(6)

         mat(634) = -(rxt(69)*y(18) + (rxt(70) + rxt(234)) * y(7) + rxt(75)*y(6) &
                      + rxt(86)*y(15) + rxt(95)*y(20) + rxt(100)*y(23) + rxt(149) &
                      *y(34) + rxt(177)*y(85) + rxt(179)*y(86) + rxt(181)*y(21) &
                      + rxt(183)*y(95) + rxt(187)*y(98) + rxt(188)*y(97) + rxt(196) &
                      *y(39) + rxt(204)*y(54) + 4.*rxt(235)*y(8))
         mat(709) = -rxt(69)*y(8)
         mat(969) = -(rxt(70) + rxt(234)) * y(8)
         mat(873) = -rxt(75)*y(8)
         mat(922) = -rxt(86)*y(8)
         mat(278) = -rxt(95)*y(8)
         mat(464) = -rxt(100)*y(8)
         mat(508) = -rxt(149)*y(8)
         mat(256) = -rxt(177)*y(8)
         mat(436) = -rxt(179)*y(8)
         mat(268) = -rxt(181)*y(8)
         mat(453) = -rxt(183)*y(8)
         mat(331) = -rxt(187)*y(8)
         mat(227) = -rxt(188)*y(8)
         mat(184) = -rxt(196)*y(8)
         mat(33) = -rxt(204)*y(8)

         mat(826) = rxt(68)*y(7)
         mat(987) = rxt(213)*y(60)
         mat(873) = mat(873) + .150*rxt(156)*y(89)
         mat(969) = mat(969) + rxt(68)*y(1)
         mat(430) = rxt(74)*y(17)
         mat(785) = rxt(74)*y(9) + rxt(145)*y(79)
         mat(709) = mat(709) + .150*rxt(157)*y(89)
         mat(238) = rxt(213)*y(2)
         mat(383) = rxt(145)*y(17)
         mat(218) = .150*rxt(156)*y(6) + .150*rxt(157)*y(18)

         mat(429) = -(rxt(74)*y(17))
         mat(773) = -rxt(74)*y(9)

         mat(861) = .420*rxt(131)*y(77) + rxt(169)*y(92)
         mat(963) = rxt(73)*y(17)
         mat(623) = rxt(86)*y(15) + rxt(100)*y(23) + rxt(149)*y(34) + rxt(187)*y(98) &
                      + rxt(177)*y(85) + rxt(179)*y(86)
         mat(144) = rxt(239)*y(58)
         mat(920) = rxt(86)*y(8)
         mat(773) = mat(773) + rxt(73)*y(7) + rxt(206)*y(55)
         mat(697) = rxt(190)*y(97) + .500*rxt(132)*y(77)
         mat(460) = rxt(100)*y(8)
         mat(502) = rxt(149)*y(8)
         mat(226) = rxt(190)*y(18)
         mat(329) = rxt(187)*y(8)
         mat(14) = rxt(206)*y(17)
         mat(904) = rxt(239)*y(11) + rxt(242)*y(60)
         mat(236) = rxt(242)*y(58)
         mat(369) = .420*rxt(131)*y(6) + .500*rxt(132)*y(18)
         mat(255) = rxt(177)*y(8)
         mat(433) = rxt(179)*y(8)
         mat(340) = rxt(169)*y(6)

         mat(65) = -(rxt(77)*y(17))
         mat(733) = -rxt(77)*y(10)

         mat(956) = rxt(76)*y(18)
         mat(666) = rxt(76)*y(7)

         mat(143) = -(rxt(239)*y(58))
         mat(899) = -rxt(239)*y(11)

         mat(958) = rxt(70)*y(8)
         mat(614) = rxt(70)*y(7)

         mat(593) = -(rxt(81)*y(6) + (4.*rxt(82) + 4.*rxt(83)) * y(13) + rxt(84)*y(18) &
                      + rxt(104)*y(25) + rxt(111)*y(37) + rxt(118)*y(41) + rxt(128) &
                      *y(32) + rxt(143)*y(87) + rxt(152)*y(35) + (rxt(160) + rxt(161) &
                      ) * y(90) + rxt(167)*y(92))
         mat(871) = -rxt(81)*y(13)
         mat(707) = -rxt(84)*y(13)
         mat(561) = -rxt(104)*y(13)
         mat(194) = -rxt(111)*y(13)
         mat(291) = -rxt(118)*y(13)
         mat(533) = -rxt(128)*y(13)
         mat(399) = -rxt(143)*y(13)
         mat(312) = -rxt(152)*y(13)
         mat(491) = -(rxt(160) + rxt(161)) * y(13)
         mat(342) = -rxt(167)*y(13)

         mat(824) = .051*rxt(125)*y(21)
         mat(871) = mat(871) + rxt(101)*y(25) + .500*rxt(158)*y(90)
         mat(593) = mat(593) + .900*rxt(104)*y(25)
         mat(108) = .700*rxt(85)*y(17)
         mat(783) = .700*rxt(85)*y(14)
         mat(707) = mat(707) + .440*rxt(103)*y(25) + .390*rxt(159)*y(90)
         mat(267) = .051*rxt(125)*y(1)
         mat(561) = mat(561) + rxt(101)*y(6) + .900*rxt(104)*y(13) + .440*rxt(103) &
                      *y(18) + 4.000*rxt(107)*y(25)
         mat(491) = mat(491) + .500*rxt(158)*y(6) + .390*rxt(159)*y(18)


      end subroutine imp_nlnmat01

      subroutine imp_nlnmat02( mat, y, rxt )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat(107) = -(rxt(85)*y(17))
         mat(742) = -rxt(85)*y(14)

         mat(573) = rxt(84)*y(18)
         mat(673) = rxt(84)*y(13)

         mat(930) = -(rxt(86)*y(8) + rxt(87)*y(17) + rxt(219)*y(61) + rxt(230)*y(68))
         mat(641) = -rxt(86)*y(15)
         mat(793) = -rxt(87)*y(15)
         mat(893) = -rxt(219)*y(15)
         mat(609) = -rxt(230)*y(15)

         mat(834) = .580*rxt(94)*y(20) + .845*rxt(125)*y(21) + rxt(92)*y(29) &
                      + .050*rxt(140)*y(33) + .120*rxt(148)*y(34) + rxt(133)*y(76)
         mat(881) = rxt(81)*y(13) + rxt(96)*y(22) + .900*rxt(126)*y(32) &
                      + .070*rxt(182)*y(95) + .690*rxt(131)*y(77) + .375*rxt(138) &
                      *y(84) + .249*rxt(141)*y(87) + .080*rxt(156)*y(89) &
                      + .500*rxt(158)*y(90) + .960*rxt(170)*y(93)
         mat(641) = mat(641) + .070*rxt(183)*y(95)
         mat(599) = rxt(81)*y(6) + (4.000*rxt(82)+2.000*rxt(83))*y(13) + rxt(104) &
                      *y(25) + 1.220*rxt(128)*y(32) + 1.255*rxt(152)*y(35) &
                      + .750*rxt(111)*y(37) + rxt(118)*y(41) + .890*rxt(143)*y(87) + ( &
                      + 2.000*rxt(160)+rxt(161))*y(90) + rxt(167)*y(92)
         mat(111) = .300*rxt(85)*y(17)
         mat(793) = mat(793) + .300*rxt(85)*y(14) + .050*rxt(99)*y(23) + .500*rxt(105) &
                      *y(26) + .500*rxt(88)*y(29) + rxt(121)*y(44) + .800*rxt(175) &
                      *y(46) + .350*rxt(145)*y(79)
         mat(717) = .063*rxt(127)*y(32) + .235*rxt(184)*y(95) + .440*rxt(132)*y(77) &
                      + .375*rxt(137)*y(84) + .120*rxt(142)*y(87) + .080*rxt(157) &
                      *y(89) + .590*rxt(159)*y(90) + .150*rxt(171)*y(93)
         mat(283) = .580*rxt(94)*y(1)
         mat(272) = .845*rxt(125)*y(1)
         mat(169) = rxt(96)*y(6)
         mat(467) = .050*rxt(99)*y(17)
         mat(567) = rxt(104)*y(13)
         mat(128) = .500*rxt(105)*y(17)
         mat(86) = rxt(92)*y(1) + .500*rxt(88)*y(17)
         mat(539) = .900*rxt(126)*y(6) + 1.220*rxt(128)*y(13) + .063*rxt(127)*y(18) &
                      + 1.840*rxt(129)*y(32)
         mat(556) = .050*rxt(140)*y(1)
         mat(513) = .120*rxt(148)*y(1)
         mat(316) = 1.255*rxt(152)*y(13)
         mat(198) = .750*rxt(111)*y(13)
         mat(295) = rxt(118)*y(13)
         mat(162) = rxt(121)*y(17)
         mat(324) = .800*rxt(175)*y(17)
         mat(458) = .070*rxt(182)*y(6) + .070*rxt(183)*y(8) + .235*rxt(184)*y(18)
         mat(213) = rxt(133)*y(1)
         mat(376) = .690*rxt(131)*y(6) + .440*rxt(132)*y(18)
         mat(386) = .350*rxt(145)*y(17)
         mat(252) = .375*rxt(138)*y(6) + .375*rxt(137)*y(18)
         mat(404) = .249*rxt(141)*y(6) + .890*rxt(143)*y(13) + .120*rxt(142)*y(18)
         mat(222) = .080*rxt(156)*y(6) + .080*rxt(157)*y(18)
         mat(497) = .500*rxt(158)*y(6) + (2.000*rxt(160)+rxt(161))*y(13) &
                      + .590*rxt(159)*y(18)
         mat(346) = rxt(167)*y(13)
         mat(480) = .960*rxt(170)*y(6) + .150*rxt(171)*y(18)

         mat(788) = -(rxt(51)*y(2) + rxt(53)*y(1) + rxt(56)*y(19) + rxt(57)*y(18) &
                      + (4.*rxt(58) + 4.*rxt(220)) * y(17) + rxt(73)*y(7) + rxt(74) &
                      *y(9) + rxt(77)*y(10) + rxt(85)*y(14) + rxt(87)*y(15) + rxt(88) &
                      *y(29) + rxt(93)*y(20) + rxt(98)*y(24) + rxt(99)*y(23) + rxt(105) &
                      *y(26) + rxt(113)*y(38) + rxt(114)*y(30) + rxt(119)*y(42) &
                      + rxt(120)*y(43) + rxt(121)*y(44) + rxt(122)*y(45) + rxt(123) &
                      *y(21) + rxt(130)*y(76) + rxt(134)*y(50) + rxt(136)*y(83) &
                      + rxt(139)*y(33) + rxt(144)*y(88) + rxt(145)*y(79) + rxt(146) &
                      *y(34) + rxt(153)*y(36) + rxt(155)*y(78) + (rxt(164) + rxt(165) &
                      ) * y(91) + rxt(172)*y(94) + rxt(174)*y(31) + rxt(175)*y(46) &
                      + rxt(176)*y(85) + rxt(178)*y(86) + rxt(180)*y(47) + rxt(186) &
                      *y(96) + rxt(192)*y(98) + rxt(193)*y(80) + rxt(194)*y(39) &
                      + rxt(201)*y(52) + (rxt(202) + rxt(203)) * y(54) + rxt(206) &
                      *y(55) + rxt(215)*y(58) + (rxt(218) + rxt(233)) * y(62) + rxt(231) &
                      *y(66))
         mat(990) = -rxt(51)*y(17)
         mat(829) = -rxt(53)*y(17)
         mat(59) = -rxt(56)*y(17)
         mat(712) = -rxt(57)*y(17)
         mat(972) = -rxt(73)*y(17)
         mat(431) = -rxt(74)*y(17)
         mat(67) = -rxt(77)*y(17)
         mat(110) = -rxt(85)*y(17)
         mat(925) = -rxt(87)*y(17)
         mat(84) = -rxt(88)*y(17)
         mat(280) = -rxt(93)*y(17)
         mat(141) = -rxt(98)*y(17)
         mat(466) = -rxt(99)*y(17)
         mat(127) = -rxt(105)*y(17)
         mat(91) = -rxt(113)*y(17)
         mat(11) = -rxt(114)*y(17)
         mat(96) = -rxt(119)*y(17)
         mat(204) = -rxt(120)*y(17)
         mat(161) = -rxt(121)*y(17)
         mat(100) = -rxt(122)*y(17)
         mat(270) = -rxt(123)*y(17)
         mat(211) = -rxt(130)*y(17)
         mat(157) = -rxt(134)*y(17)
         mat(26) = -rxt(136)*y(17)
         mat(553) = -rxt(139)*y(17)
         mat(43) = -rxt(144)*y(17)
         mat(385) = -rxt(145)*y(17)
         mat(510) = -rxt(146)*y(17)
         mat(72) = -rxt(153)*y(17)
         mat(413) = -rxt(155)*y(17)
         mat(76) = -(rxt(164) + rxt(165)) * y(17)
         mat(80) = -rxt(172)*y(17)
         mat(122) = -rxt(174)*y(17)
         mat(323) = -rxt(175)*y(17)
         mat(258) = -rxt(176)*y(17)
         mat(438) = -rxt(178)*y(17)
         mat(352) = -rxt(180)*y(17)
         mat(105) = -rxt(186)*y(17)
         mat(333) = -rxt(192)*y(17)
         mat(427) = -rxt(193)*y(17)
         mat(185) = -rxt(194)*y(17)
         mat(21) = -rxt(201)*y(17)
         mat(34) = -(rxt(202) + rxt(203)) * y(17)
         mat(15) = -rxt(206)*y(17)
         mat(909) = -rxt(215)*y(17)
         mat(944) = -(rxt(218) + rxt(233)) * y(17)
         mat(360) = -rxt(231)*y(17)

         mat(829) = mat(829) + rxt(54)*y(18) + .244*rxt(94)*y(20) + .270*rxt(125) &
                      *y(21) + .120*rxt(92)*y(29) + .202*rxt(140)*y(33) &
                      + .261*rxt(148)*y(34) + 1.156*rxt(195)*y(39) + .850*rxt(191) &
                      *y(98) + rxt(207)*y(72) + .270*rxt(133)*y(76)
         mat(990) = mat(990) + rxt(52)*y(18) + rxt(228)*y(65)
         mat(876) = rxt(65)*y(18) + .125*rxt(138)*y(84) + rxt(168)*y(92)
         mat(636) = rxt(69)*y(18)
         mat(596) = .700*rxt(167)*y(92)
         mat(110) = mat(110) + .300*rxt(85)*y(17)
         mat(788) = mat(788) + .300*rxt(85)*y(14) + .791*rxt(98)*y(24) + .500*rxt(105) &
                      *y(26) + .640*rxt(113)*y(38) + .640*rxt(186)*y(96) &
                      + .613*rxt(134)*y(50) + .791*rxt(144)*y(88)
         mat(712) = mat(712) + rxt(54)*y(1) + rxt(52)*y(2) + rxt(65)*y(6) + rxt(69) &
                      *y(8) + .440*rxt(103)*y(25) + .063*rxt(127)*y(32) &
                      + .580*rxt(151)*y(35) + .235*rxt(184)*y(95) + .500*rxt(132) &
                      *y(77) + 1.125*rxt(137)*y(84) + .620*rxt(142)*y(87) + rxt(157) &
                      *y(89) + .440*rxt(159)*y(90) + 2.000*rxt(166)*y(92) &
                      + .150*rxt(171)*y(93)
         mat(280) = mat(280) + .244*rxt(94)*y(1)
         mat(270) = mat(270) + .270*rxt(125)*y(1)
         mat(141) = mat(141) + .791*rxt(98)*y(17)
         mat(564) = .440*rxt(103)*y(18)
         mat(127) = mat(127) + .500*rxt(105)*y(17)
         mat(84) = mat(84) + .120*rxt(92)*y(1)
         mat(536) = .063*rxt(127)*y(18)
         mat(553) = mat(553) + .202*rxt(140)*y(1)
         mat(510) = mat(510) + .261*rxt(148)*y(1)
         mat(314) = .580*rxt(151)*y(18)
         mat(91) = mat(91) + .640*rxt(113)*y(17)
         mat(185) = mat(185) + 1.156*rxt(195)*y(1)
         mat(455) = .235*rxt(184)*y(18)
         mat(105) = mat(105) + .640*rxt(186)*y(17)
         mat(333) = mat(333) + .850*rxt(191)*y(1)
         mat(157) = mat(157) + .613*rxt(134)*y(17)
         mat(302) = rxt(228)*y(2)
         mat(117) = rxt(207)*y(1)
         mat(211) = mat(211) + .270*rxt(133)*y(1)
         mat(374) = .500*rxt(132)*y(18)
         mat(250) = .125*rxt(138)*y(6) + 1.125*rxt(137)*y(18)
         mat(402) = .620*rxt(142)*y(18)
         mat(43) = mat(43) + .791*rxt(144)*y(17)
         mat(220) = rxt(157)*y(18)
         mat(494) = .440*rxt(159)*y(18)
         mat(344) = rxt(168)*y(6) + .700*rxt(167)*y(13) + 2.000*rxt(166)*y(18)
         mat(478) = .150*rxt(171)*y(18)

         mat(711) = -(rxt(52)*y(2) + rxt(54)*y(1) + 4.*rxt(55)*y(18) + rxt(57)*y(17) &
                      + rxt(65)*y(6) + rxt(69)*y(8) + rxt(76)*y(7) + rxt(84)*y(13) &
                      + rxt(97)*y(22) + rxt(103)*y(25) + rxt(110)*y(37) + rxt(117) &
                      *y(41) + rxt(127)*y(32) + rxt(132)*y(77) + rxt(137)*y(84) &
                      + rxt(142)*y(87) + rxt(151)*y(35) + rxt(157)*y(89) + rxt(159) &
                      *y(90) + rxt(166)*y(92) + rxt(171)*y(93) + rxt(184)*y(95) &
                      + rxt(190)*y(97) + rxt(216)*y(61) + rxt(217)*y(62) + rxt(226) &
                      *y(69) + rxt(229)*y(68))
         mat(989) = -rxt(52)*y(18)
         mat(828) = -rxt(54)*y(18)
         mat(787) = -rxt(57)*y(18)
         mat(875) = -rxt(65)*y(18)
         mat(635) = -rxt(69)*y(18)
         mat(971) = -rxt(76)*y(18)
         mat(595) = -rxt(84)*y(18)
         mat(166) = -rxt(97)*y(18)
         mat(563) = -rxt(103)*y(18)
         mat(195) = -rxt(110)*y(18)
         mat(292) = -rxt(117)*y(18)
         mat(535) = -rxt(127)*y(18)
         mat(373) = -rxt(132)*y(18)
         mat(249) = -rxt(137)*y(18)
         mat(401) = -rxt(142)*y(18)
         mat(313) = -rxt(151)*y(18)
         mat(219) = -rxt(157)*y(18)
         mat(493) = -rxt(159)*y(18)
         mat(343) = -rxt(166)*y(18)
         mat(477) = -rxt(171)*y(18)
         mat(454) = -rxt(184)*y(18)
         mat(228) = -rxt(190)*y(18)
         mat(887) = -rxt(216)*y(18)
         mat(943) = -rxt(217)*y(18)
         mat(652) = -rxt(226)*y(18)
         mat(604) = -rxt(229)*y(18)

         mat(828) = mat(828) + rxt(53)*y(17) + .244*rxt(94)*y(20) + .026*rxt(125) &
                      *y(21) + .120*rxt(92)*y(29) + .202*rxt(140)*y(33) &
                      + .202*rxt(148)*y(34) + .450*rxt(191)*y(98)
         mat(875) = mat(875) + rxt(81)*y(13) + rxt(96)*y(22) + .900*rxt(126)*y(32) &
                      + .970*rxt(150)*y(35) + rxt(109)*y(37) + rxt(116)*y(41) &
                      + .800*rxt(182)*y(95) + rxt(189)*y(97) + .690*rxt(131)*y(77) &
                      + .825*rxt(138)*y(84) + .249*rxt(141)*y(87)
         mat(635) = mat(635) + rxt(86)*y(15) + .800*rxt(183)*y(95) + rxt(188)*y(97) &
                      + rxt(177)*y(85)
         mat(595) = mat(595) + rxt(81)*y(6) + 4.000*rxt(82)*y(13) + .900*rxt(104) &
                      *y(25) + 1.100*rxt(128)*y(32) + 1.700*rxt(152)*y(35) + rxt(111) &
                      *y(37) + rxt(118)*y(41) + .640*rxt(143)*y(87) + rxt(160)*y(90) &
                      + .700*rxt(167)*y(92)
         mat(924) = rxt(86)*y(8) + rxt(87)*y(17) + rxt(219)*y(61) + rxt(230)*y(68)
         mat(787) = mat(787) + rxt(53)*y(1) + rxt(87)*y(15) + rxt(56)*y(19) &
                      + .050*rxt(99)*y(23) + .250*rxt(88)*y(29) + rxt(121)*y(44) &
                      + rxt(122)*y(45) + rxt(175)*y(46) + rxt(180)*y(47) + rxt(218) &
                      *y(62) + rxt(176)*y(85)
         mat(711) = mat(711) + .063*rxt(127)*y(32) + .580*rxt(151)*y(35) &
                      + .440*rxt(132)*y(77) + .825*rxt(137)*y(84) + .250*rxt(142) &
                      *y(87)
         mat(58) = rxt(56)*y(17)
         mat(279) = .244*rxt(94)*y(1)
         mat(269) = .026*rxt(125)*y(1)
         mat(166) = mat(166) + rxt(96)*y(6)
         mat(465) = .050*rxt(99)*y(17)
         mat(563) = mat(563) + .900*rxt(104)*y(13)
         mat(83) = .120*rxt(92)*y(1) + .250*rxt(88)*y(17)
         mat(535) = mat(535) + .900*rxt(126)*y(6) + 1.100*rxt(128)*y(13) &
                      + .063*rxt(127)*y(18) + 2.560*rxt(129)*y(32)
         mat(552) = .202*rxt(140)*y(1)
         mat(509) = .202*rxt(148)*y(1)
         mat(313) = mat(313) + .970*rxt(150)*y(6) + 1.700*rxt(152)*y(13) &
                      + .580*rxt(151)*y(18)
         mat(195) = mat(195) + rxt(109)*y(6) + rxt(111)*y(13) + 4.000*rxt(112)*y(37)
         mat(292) = mat(292) + rxt(116)*y(6) + rxt(118)*y(13)
         mat(160) = rxt(121)*y(17)
         mat(99) = rxt(122)*y(17)
         mat(322) = rxt(175)*y(17)
         mat(351) = rxt(180)*y(17)
         mat(454) = mat(454) + .800*rxt(182)*y(6) + .800*rxt(183)*y(8)
         mat(228) = mat(228) + rxt(189)*y(6) + rxt(188)*y(8)
         mat(332) = .450*rxt(191)*y(1)
         mat(887) = mat(887) + rxt(219)*y(15)
         mat(943) = mat(943) + rxt(218)*y(17)
         mat(604) = mat(604) + rxt(230)*y(15)
         mat(373) = mat(373) + .690*rxt(131)*y(6) + .440*rxt(132)*y(18)
         mat(249) = mat(249) + .825*rxt(138)*y(6) + .825*rxt(137)*y(18)
         mat(257) = rxt(177)*y(8) + rxt(176)*y(17)
         mat(401) = mat(401) + .249*rxt(141)*y(6) + .640*rxt(143)*y(13) &
                      + .250*rxt(142)*y(18)
         mat(493) = mat(493) + rxt(160)*y(13)
         mat(343) = mat(343) + .700*rxt(167)*y(13)


      end subroutine imp_nlnmat02

      subroutine imp_nlnmat03( mat, y, rxt )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat(57) = -(rxt(56)*y(17))
         mat(732) = -rxt(56)*y(19)

         mat(798) = .110*rxt(125)*y(21)
         mat(732) = mat(732) + 2.000*rxt(220)*y(17)
         mat(665) = 2.000*rxt(55)*y(18)
         mat(259) = .110*rxt(125)*y(1)

         mat(275) = -(rxt(93)*y(17) + rxt(94)*y(1) + rxt(95)*y(8))
         mat(760) = -rxt(93)*y(20)
         mat(808) = -rxt(94)*y(20)
         mat(620) = -rxt(95)*y(20)

         mat(808) = mat(808) + .128*rxt(125)*y(21)
         mat(261) = .128*rxt(125)*y(1)

         mat(260) = -(rxt(123)*y(17) + rxt(125)*y(1) + rxt(181)*y(8))
         mat(759) = -rxt(123)*y(21)
         mat(807) = -rxt(125)*y(21)
         mat(619) = -rxt(181)*y(21)

         mat(164) = -(rxt(96)*y(6) + rxt(97)*y(18))
         mat(842) = -rxt(96)*y(22)
         mat(677) = -rxt(97)*y(22)

         mat(750) = rxt(93)*y(20) + .209*rxt(98)*y(24)
         mat(274) = rxt(93)*y(17)
         mat(138) = .209*rxt(98)*y(17)

         mat(461) = -(rxt(99)*y(17) + rxt(100)*y(8))
         mat(776) = -rxt(99)*y(23)
         mat(626) = -rxt(100)*y(23)

         mat(818) = .400*rxt(94)*y(20) + .050*rxt(140)*y(33)
         mat(864) = rxt(96)*y(22) + rxt(109)*y(37) + .270*rxt(116)*y(41)
         mat(586) = .750*rxt(111)*y(37)
         mat(776) = mat(776) + .640*rxt(113)*y(38) + rxt(122)*y(45)
         mat(277) = .400*rxt(94)*y(1)
         mat(165) = rxt(96)*y(6)
         mat(546) = .050*rxt(140)*y(1)
         mat(193) = rxt(109)*y(6) + .750*rxt(111)*y(13) + 4.000*rxt(112)*y(37)
         mat(89) = .640*rxt(113)*y(17)
         mat(288) = .270*rxt(116)*y(6)
         mat(98) = rxt(122)*y(17)

         mat(137) = -(rxt(98)*y(17))
         mat(747) = -rxt(98)*y(24)

         mat(675) = rxt(97)*y(22)
         mat(163) = rxt(97)*y(18)

         mat(560) = -(rxt(101)*y(6) + rxt(102)*y(7) + rxt(103)*y(18) + rxt(104)*y(13) &
                      + 4.*rxt(107)*y(25))
         mat(870) = -rxt(101)*y(25)
         mat(966) = -rxt(102)*y(25)
         mat(706) = -rxt(103)*y(25)
         mat(592) = -rxt(104)*y(25)

         mat(823) = .199*rxt(125)*y(21)
         mat(870) = mat(870) + .716*rxt(141)*y(87) + .500*rxt(158)*y(90) &
                      + .960*rxt(170)*y(93)
         mat(632) = rxt(100)*y(23) + rxt(179)*y(86)
         mat(592) = mat(592) + .360*rxt(143)*y(87) + rxt(160)*y(90)
         mat(782) = .950*rxt(99)*y(23) + .500*rxt(105)*y(26) + rxt(178)*y(86)
         mat(706) = mat(706) + .370*rxt(142)*y(87) + .150*rxt(171)*y(93)
         mat(266) = .199*rxt(125)*y(1)
         mat(462) = rxt(100)*y(8) + .950*rxt(99)*y(17)
         mat(125) = .500*rxt(105)*y(17)
         mat(435) = rxt(179)*y(8) + rxt(178)*y(17)
         mat(398) = .716*rxt(141)*y(6) + .360*rxt(143)*y(13) + .370*rxt(142)*y(18)
         mat(490) = .500*rxt(158)*y(6) + rxt(160)*y(13)
         mat(474) = .960*rxt(170)*y(6) + .150*rxt(171)*y(18)

         mat(124) = -(rxt(105)*y(17))
         mat(745) = -rxt(105)*y(26)

         mat(674) = .410*rxt(103)*y(25)
         mat(559) = .410*rxt(103)*y(18)


         mat(954) = rxt(102)*y(25)
         mat(558) = rxt(102)*y(7)

         mat(81) = -(rxt(88)*y(17) + rxt(92)*y(1))
         mat(737) = -rxt(88)*y(29)
         mat(799) = -rxt(92)*y(29)

         mat(9) = -(rxt(114)*y(17))
         mat(726) = -rxt(114)*y(30)

         mat(119) = -(rxt(174)*y(17))
         mat(744) = -rxt(174)*y(31)

         mat(957) = rxt(162)*y(90)
         mat(483) = rxt(162)*y(7)

         mat(530) = -(rxt(126)*y(6) + rxt(127)*y(18) + rxt(128)*y(13) + 4.*rxt(129) &
                      *y(32))
         mat(868) = -rxt(126)*y(32)
         mat(704) = -rxt(127)*y(32)
         mat(590) = -rxt(128)*y(32)

         mat(630) = 1.700*rxt(196)*y(39)
         mat(780) = rxt(123)*y(21) + 1.640*rxt(194)*y(39) + .387*rxt(134)*y(50)
         mat(264) = rxt(123)*y(17)
         mat(182) = 1.700*rxt(196)*y(8) + 1.640*rxt(194)*y(17)
         mat(154) = .387*rxt(134)*y(17)

         mat(548) = -(rxt(139)*y(17) + rxt(140)*y(1))
         mat(781) = -rxt(139)*y(33)
         mat(822) = -rxt(140)*y(33)

         mat(822) = mat(822) + .244*rxt(125)*y(21) + .442*rxt(195)*y(39)
         mat(869) = .550*rxt(126)*y(32) + .035*rxt(182)*y(95)
         mat(631) = .035*rxt(183)*y(95)
         mat(591) = .280*rxt(128)*y(32)
         mat(705) = .038*rxt(127)*y(32) + .220*rxt(184)*y(95)
         mat(265) = .244*rxt(125)*y(1)
         mat(531) = .550*rxt(126)*y(6) + .280*rxt(128)*y(13) + .038*rxt(127)*y(18) &
                      + 1.120*rxt(129)*y(32)
         mat(183) = .442*rxt(195)*y(1)
         mat(450) = .035*rxt(182)*y(6) + .035*rxt(183)*y(8) + .220*rxt(184)*y(18)

         mat(505) = -(rxt(146)*y(17) + rxt(148)*y(1) + rxt(149)*y(8))
         mat(779) = -rxt(146)*y(34)
         mat(820) = -rxt(148)*y(34)
         mat(629) = -rxt(149)*y(34)

         mat(820) = mat(820) + .325*rxt(125)*y(21) + 1.122*rxt(195)*y(39)
         mat(867) = .350*rxt(126)*y(32) + .035*rxt(182)*y(95)
         mat(629) = mat(629) + .035*rxt(183)*y(95)
         mat(589) = .180*rxt(128)*y(32)
         mat(703) = .025*rxt(127)*y(32) + .015*rxt(184)*y(95)
         mat(263) = .325*rxt(125)*y(1)
         mat(529) = .350*rxt(126)*y(6) + .180*rxt(128)*y(13) + .025*rxt(127)*y(18) &
                      + .720*rxt(129)*y(32)
         mat(181) = 1.122*rxt(195)*y(1)
         mat(449) = .035*rxt(182)*y(6) + .035*rxt(183)*y(8) + .015*rxt(184)*y(18)

         mat(308) = -(rxt(150)*y(6) + rxt(151)*y(18) + rxt(152)*y(13))
         mat(851) = -rxt(150)*y(35)
         mat(687) = -rxt(151)*y(35)
         mat(578) = -rxt(152)*y(35)

         mat(762) = .550*rxt(146)*y(34) + rxt(153)*y(36)
         mat(499) = .550*rxt(146)*y(17)
         mat(70) = rxt(153)*y(17)

         mat(69) = -((rxt(153) + rxt(154)) * y(17))
         mat(734) = -(rxt(153) + rxt(154)) * y(36)

         mat(667) = .420*rxt(151)*y(35)
         mat(307) = .420*rxt(151)*y(18)

         mat(192) = -(rxt(109)*y(6) + rxt(110)*y(18) + rxt(111)*y(13) + 4.*rxt(112) &
                      *y(37))
         mat(843) = -rxt(109)*y(37)
         mat(679) = -rxt(110)*y(37)
         mat(575) = -rxt(111)*y(37)

         mat(752) = .360*rxt(113)*y(38)
         mat(88) = .360*rxt(113)*y(17)

         mat(87) = -(rxt(113)*y(17))
         mat(738) = -rxt(113)*y(38)

         mat(670) = rxt(110)*y(37)
         mat(189) = rxt(110)*y(18)

         mat(179) = -(rxt(194)*y(17) + rxt(195)*y(1) + rxt(196)*y(8))
         mat(751) = -rxt(194)*y(39)
         mat(803) = -rxt(195)*y(39)
         mat(615) = -rxt(196)*y(39)

         mat(287) = -(rxt(116)*y(6) + rxt(117)*y(18) + rxt(118)*y(13))
         mat(850) = -rxt(116)*y(41)
         mat(685) = -rxt(117)*y(41)
         mat(577) = -rxt(118)*y(41)

         mat(761) = rxt(114)*y(30) + rxt(119)*y(42)
         mat(10) = rxt(114)*y(17)
         mat(94) = rxt(119)*y(17)

         mat(92) = -(rxt(119)*y(17))
         mat(739) = -rxt(119)*y(42)

         mat(671) = rxt(117)*y(41)
         mat(285) = rxt(117)*y(18)

         mat(200) = -(rxt(120)*y(17))
         mat(753) = -rxt(120)*y(43)

         mat(844) = .820*rxt(116)*y(41)
         mat(576) = .820*rxt(118)*y(41)
         mat(753) = mat(753) + .100*rxt(194)*y(39)
         mat(180) = .100*rxt(194)*y(17)
         mat(286) = .820*rxt(116)*y(6) + .820*rxt(118)*y(13)

         mat(159) = -(rxt(121)*y(17))
         mat(749) = -rxt(121)*y(44)

         mat(802) = .036*rxt(94)*y(20)
         mat(574) = 2.000*rxt(83)*y(13) + .240*rxt(128)*y(32) + .250*rxt(111)*y(37) &
                      + .250*rxt(143)*y(87)
         mat(273) = .036*rxt(94)*y(1)
         mat(518) = .240*rxt(128)*y(13)
         mat(191) = .250*rxt(111)*y(13)
         mat(392) = .250*rxt(143)*y(13)

         mat(97) = -(rxt(122)*y(17))
         mat(740) = -rxt(122)*y(45)

         mat(572) = .250*rxt(111)*y(37) + .300*rxt(167)*y(92)
         mat(190) = .250*rxt(111)*y(13)
         mat(337) = .300*rxt(167)*y(13)

         mat(319) = -(rxt(175)*y(17))
         mat(763) = -rxt(175)*y(46)

         mat(852) = .090*rxt(131)*y(77) + .275*rxt(138)*y(84) + .716*rxt(141)*y(87)
         mat(579) = .360*rxt(143)*y(87)
         mat(688) = .060*rxt(132)*y(77) + .275*rxt(137)*y(84) + .370*rxt(142)*y(87)
         mat(364) = .090*rxt(131)*y(6) + .060*rxt(132)*y(18)
         mat(246) = .275*rxt(138)*y(6) + .275*rxt(137)*y(18)
         mat(393) = .716*rxt(141)*y(6) + .360*rxt(143)*y(13) + .370*rxt(142)*y(18)

         mat(348) = -(rxt(180)*y(17))
         mat(766) = -rxt(180)*y(47)

         mat(855) = .970*rxt(150)*y(35) + .090*rxt(131)*y(77) + .725*rxt(138)*y(84) &
                      + .850*rxt(156)*y(89) + rxt(168)*y(92)
         mat(581) = .595*rxt(152)*y(35) + .700*rxt(167)*y(92)
         mat(766) = mat(766) + rxt(174)*y(31) + rxt(154)*y(36)
         mat(690) = .580*rxt(151)*y(35) + .060*rxt(132)*y(77) + .725*rxt(137)*y(84) &
                      + .850*rxt(157)*y(89) + rxt(166)*y(92)
         mat(120) = rxt(174)*y(17)
         mat(309) = .970*rxt(150)*y(6) + .595*rxt(152)*y(13) + .580*rxt(151)*y(18)
         mat(71) = rxt(154)*y(17)
         mat(365) = .090*rxt(131)*y(6) + .060*rxt(132)*y(18)
         mat(247) = .725*rxt(138)*y(6) + .725*rxt(137)*y(18)
         mat(216) = .850*rxt(156)*y(6) + .850*rxt(157)*y(18)
         mat(339) = rxt(168)*y(6) + .700*rxt(167)*y(13) + rxt(166)*y(18)


         mat(839) = rxt(89)*y(48)
         mat(129) = rxt(89)*y(6)

         mat(130) = -(rxt(89)*y(6))
         mat(841) = -rxt(89)*y(48)

         mat(746) = .750*rxt(88)*y(29)
         mat(82) = .750*rxt(88)*y(17)

         mat(446) = -(rxt(182)*y(6) + rxt(183)*y(8) + rxt(184)*y(18))
         mat(863) = -rxt(182)*y(95)
         mat(625) = -rxt(183)*y(95)
         mat(699) = -rxt(184)*y(95)

         mat(625) = mat(625) + rxt(181)*y(21)
         mat(775) = .360*rxt(186)*y(96)
         mat(262) = rxt(181)*y(8)
         mat(104) = .360*rxt(186)*y(17)


      end subroutine imp_nlnmat03

      subroutine imp_nlnmat04( mat, y, rxt )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat(102) = -((rxt(185) + rxt(186)) * y(17))
         mat(741) = -(rxt(185) + rxt(186)) * y(96)

         mat(672) = .765*rxt(184)*y(95)
         mat(441) = .765*rxt(184)*y(18)

         mat(224) = -(rxt(188)*y(8) + rxt(189)*y(6) + rxt(190)*y(18))
         mat(617) = -rxt(188)*y(97)
         mat(847) = -rxt(189)*y(97)
         mat(682) = -rxt(190)*y(97)

         mat(617) = mat(617) + rxt(187)*y(98)
         mat(756) = rxt(192)*y(98)
         mat(325) = rxt(187)*y(8) + rxt(192)*y(17)

         mat(327) = -(rxt(187)*y(8) + rxt(191)*y(1) + rxt(192)*y(17))
         mat(621) = -rxt(187)*y(98)
         mat(810) = -rxt(191)*y(98)
         mat(764) = -rxt(192)*y(98)

         mat(853) = .700*rxt(182)*y(95)
         mat(621) = mat(621) + .700*rxt(183)*y(95)
         mat(442) = .700*rxt(182)*y(6) + .700*rxt(183)*y(8)

         mat(151) = -((rxt(134) + rxt(135)) * y(17))
         mat(748) = -(rxt(134) + rxt(135)) * y(50)

         mat(676) = .937*rxt(127)*y(32)
         mat(517) = .937*rxt(127)*y(18)

         mat(20) = -(rxt(201)*y(17))
         mat(728) = -rxt(201)*y(52)

         mat(612) = rxt(204)*y(54)
         mat(728) = mat(728) + (rxt(202)+.750*rxt(203))*y(54)
         mat(31) = rxt(204)*y(8) + (rxt(202)+.750*rxt(203))*y(17)


         mat(721) = rxt(201)*y(52)
         mat(19) = rxt(201)*y(17)

         mat(32) = -((rxt(202) + rxt(203)) * y(17) + rxt(204)*y(8))
         mat(730) = -(rxt(202) + rxt(203)) * y(54)
         mat(613) = -rxt(204)*y(54)

         mat(13) = -(rxt(206)*y(17))
         mat(727) = -rxt(206)*y(55)



         mat(913) = -(rxt(215)*y(17) + rxt(238)*y(59) + rxt(239)*y(11) + rxt(242) &
                      *y(60) + rxt(243)*y(65))
         mat(792) = -rxt(215)*y(58)
         mat(178) = -rxt(238)*y(58)
         mat(147) = -rxt(239)*y(58)
         mat(241) = -rxt(242)*y(58)
         mat(304) = -rxt(243)*y(58)

         mat(929) = rxt(219)*y(61)
         mat(792) = mat(792) + rxt(233)*y(62)
         mat(716) = rxt(216)*y(61)
         mat(892) = rxt(219)*y(15) + rxt(216)*y(18)
         mat(948) = rxt(233)*y(17)

         mat(173) = -(rxt(238)*y(58) + rxt(244)*y(66))
         mat(900) = -rxt(238)*y(59)
         mat(355) = -rxt(244)*y(59)

         mat(678) = rxt(217)*y(62)
         mat(936) = rxt(217)*y(18)

         mat(234) = -(rxt(213)*y(2) + rxt(242)*y(58))
         mat(982) = -rxt(213)*y(60)
         mat(901) = -rxt(242)*y(60)

         mat(959) = rxt(212)*y(62)
         mat(937) = rxt(212)*y(7)

         mat(891) = -(rxt(209)*y(1) + rxt(216)*y(18) + rxt(219)*y(15))
         mat(832) = -rxt(209)*y(61)
         mat(715) = -rxt(216)*y(61)
         mat(928) = -rxt(219)*y(61)

         mat(993) = rxt(210)*y(62)
         mat(879) = rxt(211)*y(62)
         mat(146) = rxt(239)*y(58)
         mat(791) = rxt(215)*y(58) + rxt(218)*y(62)
         mat(912) = rxt(239)*y(11) + rxt(215)*y(17)
         mat(947) = rxt(210)*y(2) + rxt(211)*y(6) + rxt(218)*y(17) + rxt(225)*y(69)
         mat(656) = rxt(225)*y(62)

         mat(950) = -(rxt(210)*y(2) + rxt(211)*y(6) + rxt(212)*y(7) + rxt(217)*y(18) &
                      + (rxt(218) + rxt(233)) * y(17) + 4.*rxt(221)*y(62) + (rxt(225) &
                      + rxt(232)) * y(69))
         mat(996) = -rxt(210)*y(62)
         mat(882) = -rxt(211)*y(62)
         mat(978) = -rxt(212)*y(62)
         mat(718) = -rxt(217)*y(62)
         mat(794) = -(rxt(218) + rxt(233)) * y(62)
         mat(659) = -(rxt(225) + rxt(232)) * y(62)

         mat(835) = rxt(209)*y(61)
         mat(996) = mat(996) + rxt(213)*y(60)
         mat(242) = rxt(213)*y(2)
         mat(894) = rxt(209)*y(1)


         mat(934) = 2.000*rxt(221)*y(62)


         mat(897) = rxt(238)*y(59) + rxt(242)*y(60)
         mat(171) = rxt(238)*y(58)
         mat(232) = rxt(242)*y(58)

         mat(298) = -(rxt(228)*y(2) + rxt(243)*y(58) + rxt(245)*y(66))
         mat(983) = -rxt(228)*y(65)
         mat(902) = -rxt(243)*y(65)
         mat(356) = -rxt(245)*y(65)

         mat(686) = rxt(226)*y(69)
         mat(646) = rxt(226)*y(18)

         mat(357) = -(rxt(231)*y(17) + rxt(244)*y(59) + rxt(245)*y(65))
         mat(767) = -rxt(231)*y(66)
         mat(174) = -rxt(244)*y(66)
         mat(299) = -rxt(245)*y(66)

         mat(919) = rxt(230)*y(68)
         mat(691) = rxt(229)*y(68)
         mat(601) = rxt(230)*y(15) + rxt(229)*y(18)


         mat(955) = rxt(224)*y(69)
         mat(644) = rxt(224)*y(7)

         mat(602) = -(rxt(223)*y(1) + rxt(229)*y(18) + rxt(230)*y(15))
         mat(825) = -rxt(223)*y(68)
         mat(708) = -rxt(229)*y(68)
         mat(921) = -rxt(230)*y(68)

         mat(872) = rxt(227)*y(69)
         mat(784) = rxt(231)*y(66)
         mat(940) = rxt(225)*y(69)
         mat(300) = 2.000*rxt(245)*y(66)
         mat(358) = rxt(231)*y(17) + 2.000*rxt(245)*y(65)
         mat(649) = rxt(227)*y(6) + rxt(225)*y(62)

         mat(651) = -(rxt(224)*y(7) + (rxt(225) + rxt(232)) * y(62) + rxt(226)*y(18) &
                      + rxt(227)*y(6))
         mat(970) = -rxt(224)*y(69)
         mat(942) = -(rxt(225) + rxt(232)) * y(69)
         mat(710) = -rxt(226)*y(69)
         mat(874) = -rxt(227)*y(69)

         mat(827) = rxt(223)*y(68)
         mat(988) = rxt(228)*y(65)
         mat(301) = rxt(228)*y(2)
         mat(603) = rxt(223)*y(1)


         mat(898) = rxt(243)*y(65)
         mat(172) = rxt(244)*y(66)
         mat(935) = rxt(232)*y(69)
         mat(297) = rxt(243)*y(58)
         mat(354) = rxt(244)*y(59)
         mat(645) = rxt(232)*y(62)


         mat(115) = -(rxt(207)*y(1))
         mat(800) = -rxt(207)*y(72)

         mat(981) = rxt(51)*y(17)
         mat(743) = rxt(51)*y(2)


         mat(569) = .240*rxt(128)*y(32) + .150*rxt(152)*y(35) + .250*rxt(143)*y(87)
         mat(515) = .240*rxt(128)*y(13) + .960*rxt(129)*y(32)
         mat(306) = .150*rxt(152)*y(13)
         mat(388) = .250*rxt(143)*y(13)


         mat(838) = .230*rxt(182)*y(95)
         mat(611) = .230*rxt(183)*y(95)
         mat(570) = .300*rxt(128)*y(32)
         mat(723) = .791*rxt(98)*y(24) + .613*rxt(134)*y(50)
         mat(662) = .033*rxt(142)*y(87)
         mat(136) = .791*rxt(98)*y(17)
         mat(516) = .300*rxt(128)*y(13) + rxt(129)*y(32)
         mat(440) = .230*rxt(182)*y(6) + .230*rxt(183)*y(8)
         mat(149) = .613*rxt(134)*y(17)
         mat(389) = .033*rxt(142)*y(18)

         mat(206) = -(rxt(130)*y(17) + rxt(133)*y(1))
         mat(754) = -rxt(130)*y(76)
         mat(805) = -rxt(133)*y(76)

         mat(845) = .100*rxt(126)*y(32)
         mat(519) = .100*rxt(126)*y(6)

         mat(366) = -(rxt(131)*y(6) + rxt(132)*y(18))
         mat(856) = -rxt(131)*y(77)
         mat(692) = -rxt(132)*y(77)

         mat(768) = rxt(130)*y(76)
         mat(207) = rxt(130)*y(17)

         mat(408) = -(rxt(155)*y(17))
         mat(771) = -rxt(155)*y(78)

         mat(813) = .390*rxt(133)*y(76)
         mat(859) = .030*rxt(150)*y(35) + .440*rxt(131)*y(77)
         mat(695) = .280*rxt(132)*y(77)
         mat(310) = .030*rxt(150)*y(6)
         mat(209) = .390*rxt(133)*y(1)
         mat(368) = .440*rxt(131)*y(6) + .280*rxt(132)*y(18)

         mat(379) = -(rxt(145)*y(17))
         mat(769) = -rxt(145)*y(79)

         mat(812) = .610*rxt(133)*y(76)
         mat(857) = .260*rxt(131)*y(77) + .035*rxt(141)*y(87)
         mat(693) = .160*rxt(132)*y(77)
         mat(208) = .610*rxt(133)*y(1)
         mat(367) = .260*rxt(131)*y(6) + .160*rxt(132)*y(18)
         mat(394) = .035*rxt(141)*y(6)

         mat(421) = -(rxt(193)*y(17))
         mat(772) = -rxt(193)*y(80)

         mat(814) = .300*rxt(191)*y(98)
         mat(860) = rxt(189)*y(97) + .040*rxt(170)*y(93)
         mat(622) = rxt(95)*y(20) + rxt(188)*y(97)
         mat(772) = mat(772) + .640*rxt(186)*y(96)
         mat(276) = rxt(95)*y(8)
         mat(103) = .640*rxt(186)*y(17)
         mat(225) = rxt(189)*y(6) + rxt(188)*y(8)
         mat(328) = .300*rxt(191)*y(1)
         mat(470) = .040*rxt(170)*y(6)


         mat(571) = .250*rxt(143)*y(87)
         mat(724) = rxt(185)*y(96) + .791*rxt(144)*y(88)
         mat(663) = .130*rxt(142)*y(87)
         mat(101) = rxt(185)*y(17)
         mat(390) = .250*rxt(143)*y(13) + .130*rxt(142)*y(18)
         mat(40) = .791*rxt(144)*y(17)


         mat(725) = rxt(193)*y(80)
         mat(419) = rxt(193)*y(17)

         mat(24) = -(rxt(136)*y(17))
         mat(729) = -rxt(136)*y(83)

         mat(729) = mat(729) + rxt(135)*y(50)
         mat(150) = rxt(135)*y(17)

         mat(244) = -(rxt(137)*y(18) + rxt(138)*y(6))
         mat(683) = -rxt(137)*y(84)
         mat(848) = -rxt(138)*y(84)

         mat(757) = rxt(136)*y(83)
         mat(25) = rxt(136)*y(17)

         mat(254) = -(rxt(176)*y(17) + rxt(177)*y(8))
         mat(758) = -rxt(176)*y(85)
         mat(618) = -rxt(177)*y(85)

         mat(806) = .700*rxt(191)*y(98)
         mat(849) = .275*rxt(138)*y(84)
         mat(758) = mat(758) + .200*rxt(175)*y(46)
         mat(684) = .275*rxt(137)*y(84)
         mat(318) = .200*rxt(175)*y(17)
         mat(326) = .700*rxt(191)*y(1)
         mat(245) = .275*rxt(138)*y(6) + .275*rxt(137)*y(18)


      end subroutine imp_nlnmat04

      subroutine imp_nlnmat05( mat, y, rxt )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat(434) = -(rxt(178)*y(17) + rxt(179)*y(8))
         mat(774) = -rxt(178)*y(86)
         mat(624) = -rxt(179)*y(86)

         mat(816) = .950*rxt(140)*y(33) + .880*rxt(148)*y(34) + .700*rxt(191)*y(98)
         mat(862) = .275*rxt(138)*y(84) + .249*rxt(141)*y(87) + .070*rxt(156)*y(89)
         mat(585) = .255*rxt(152)*y(35) + .140*rxt(143)*y(87)
         mat(774) = mat(774) + rxt(180)*y(47) + .650*rxt(145)*y(79) + rxt(173)*y(94)
         mat(698) = .275*rxt(137)*y(84) + .120*rxt(142)*y(87) + .070*rxt(157)*y(89)
         mat(545) = .950*rxt(140)*y(1)
         mat(503) = .880*rxt(148)*y(1)
         mat(311) = .255*rxt(152)*y(13)
         mat(349) = rxt(180)*y(17)
         mat(330) = .700*rxt(191)*y(1)
         mat(381) = .650*rxt(145)*y(17)
         mat(248) = .275*rxt(138)*y(6) + .275*rxt(137)*y(18)
         mat(397) = .249*rxt(141)*y(6) + .140*rxt(143)*y(13) + .120*rxt(142)*y(18)
         mat(217) = .070*rxt(156)*y(6) + .070*rxt(157)*y(18)
         mat(78) = rxt(173)*y(17)

         mat(395) = -(rxt(141)*y(6) + rxt(142)*y(18) + rxt(143)*y(13))
         mat(858) = -rxt(141)*y(87)
         mat(694) = -rxt(142)*y(87)
         mat(582) = -rxt(143)*y(87)

         mat(770) = rxt(139)*y(33) + .209*rxt(144)*y(88)
         mat(542) = rxt(139)*y(17)
         mat(42) = .209*rxt(144)*y(17)

         mat(41) = -(rxt(144)*y(17))
         mat(731) = -rxt(144)*y(88)

         mat(664) = .380*rxt(142)*y(87)
         mat(391) = .380*rxt(142)*y(18)

         mat(215) = -(rxt(156)*y(6) + rxt(157)*y(18))
         mat(846) = -rxt(156)*y(89)
         mat(681) = -rxt(157)*y(89)

         mat(755) = rxt(155)*y(78)
         mat(406) = rxt(155)*y(17)

         mat(489) = -(rxt(158)*y(6) + rxt(159)*y(18) + (rxt(160) + rxt(161)) * y(13) &
                      + rxt(162)*y(7))
         mat(866) = -rxt(158)*y(90)
         mat(702) = -rxt(159)*y(90)
         mat(588) = -(rxt(160) + rxt(161)) * y(90)
         mat(965) = -rxt(162)*y(90)

         mat(628) = rxt(149)*y(34)
         mat(778) = .450*rxt(146)*y(34) + rxt(164)*y(91)
         mat(504) = rxt(149)*y(8) + .450*rxt(146)*y(17)
         mat(75) = rxt(164)*y(17)

         mat(73) = -((rxt(164) + rxt(165)) * y(17))
         mat(735) = -(rxt(164) + rxt(165)) * y(91)

         mat(668) = .410*rxt(159)*y(90)
         mat(482) = .410*rxt(159)*y(18)

         mat(338) = -(rxt(166)*y(18) + rxt(167)*y(13) + (rxt(168) + rxt(169)) * y(6))
         mat(689) = -rxt(166)*y(92)
         mat(580) = -rxt(167)*y(92)
         mat(854) = -(rxt(168) + rxt(169)) * y(92)

         mat(765) = rxt(165)*y(91)
         mat(74) = rxt(165)*y(17)

         mat(473) = -(rxt(170)*y(6) + rxt(171)*y(18))
         mat(865) = -rxt(170)*y(93)
         mat(701) = -rxt(171)*y(93)

         mat(777) = rxt(120)*y(43) + rxt(172)*y(94)
         mat(201) = rxt(120)*y(17)
         mat(79) = rxt(172)*y(17)

         mat(77) = -((rxt(172) + rxt(173)) * y(17))
         mat(736) = -(rxt(172) + rxt(173)) * y(94)

         mat(669) = .850*rxt(171)*y(93)
         mat(469) = .850*rxt(171)*y(18)


      end subroutine imp_nlnmat05

      subroutine imp_nlnmat_finit( mat, lmat, dti )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: dti
      real, intent(in) :: lmat(imp_nzcnt)
      real, intent(inout) :: mat(imp_nzcnt)


!----------------------------------------------
! ... Local variables
!----------------------------------------------

!----------------------------------------------
! ... Complete matrix entries Implicit species
!----------------------------------------------

         mat( 4) = lmat( 4)
         mat( 12) = lmat( 12)
         mat( 13) = mat( 13) + lmat( 13)
         mat( 16) = lmat( 16)
         mat( 17) = lmat( 17)
         mat( 18) = lmat( 18)
         mat( 22) = lmat( 22)
         mat( 23) = lmat( 23)
         mat( 27) = lmat( 27)
         mat( 28) = lmat( 28)
         mat( 29) = lmat( 29)
         mat( 30) = lmat( 30)
         mat( 36) = mat( 36) + lmat( 36)
         mat( 37) = mat( 37) + lmat( 37)
         mat( 39) = mat( 39) + lmat( 39)
         mat( 44) = lmat( 44)
         mat( 45) = lmat( 45)
         mat( 46) = lmat( 46)
         mat( 47) = lmat( 47)
         mat( 48) = lmat( 48)
         mat( 49) = lmat( 49)
         mat( 50) = lmat( 50)
         mat( 51) = lmat( 51)
         mat( 52) = lmat( 52)
         mat( 53) = lmat( 53)
         mat( 54) = lmat( 54)
         mat( 55) = lmat( 55)
         mat( 56) = lmat( 56)
         mat( 57) = mat( 57) + lmat( 57)
         mat( 59) = mat( 59) + lmat( 59)
         mat( 60) = lmat( 60)
         mat( 61) = lmat( 61)
         mat( 62) = lmat( 62)
         mat( 63) = lmat( 63)
         mat( 64) = lmat( 64)
         mat( 65) = mat( 65) + lmat( 65)
         mat( 66) = lmat( 66)
         mat( 68) = mat( 68) + lmat( 68)
         mat( 87) = mat( 87) + lmat( 87)
         mat( 89) = mat( 89) + lmat( 89)
         mat( 90) = lmat( 90)
         mat( 91) = mat( 91) + lmat( 91)
         mat( 92) = mat( 92) + lmat( 92)
         mat( 93) = lmat( 93)
         mat( 95) = lmat( 95)
         mat( 96) = mat( 96) + lmat( 96)
         mat( 107) = mat( 107) + lmat( 107)
         mat( 109) = lmat( 109)
         mat( 110) = mat( 110) + lmat( 110)
         mat( 111) = mat( 111) + lmat( 111)
         mat( 112) = lmat( 112)
         mat( 113) = lmat( 113)
         mat( 114) = lmat( 114)
         mat( 115) = mat( 115) + lmat( 115)
         mat( 116) = lmat( 116)
         mat( 119) = mat( 119) + lmat( 119)
         mat( 121) = lmat( 121)
         mat( 123) = mat( 123) + lmat( 123)
         mat( 124) = mat( 124) + lmat( 124)
         mat( 126) = lmat( 126)
         mat( 127) = mat( 127) + lmat( 127)
         mat( 137) = mat( 137) + lmat( 137)
         mat( 139) = lmat( 139)
         mat( 140) = lmat( 140)
         mat( 141) = mat( 141) + lmat( 141)
         mat( 142) = lmat( 142)
         mat( 143) = mat( 143) + lmat( 143)
         mat( 144) = mat( 144) + lmat( 144)
         mat( 145) = lmat( 145)
         mat( 148) = mat( 148) + lmat( 148)
         mat( 151) = mat( 151) + lmat( 151)
         mat( 153) = lmat( 153)
         mat( 155) = lmat( 155)
         mat( 156) = lmat( 156)
         mat( 158) = lmat( 158)
         mat( 173) = mat( 173) + lmat( 173)
         mat( 176) = lmat( 176)
         mat( 177) = lmat( 177)
         mat( 200) = mat( 200) + lmat( 200)
         mat( 202) = lmat( 202)
         mat( 203) = lmat( 203)
         mat( 205) = lmat( 205)
         mat( 206) = mat( 206) + lmat( 206)
         mat( 210) = lmat( 210)
         mat( 214) = lmat( 214)
         mat( 233) = lmat( 233)
         mat( 234) = mat( 234) + lmat( 234)
         mat( 236) = mat( 236) + lmat( 236)
         mat( 238) = mat( 238) + lmat( 238)
         mat( 240) = lmat( 240)
         mat( 254) = mat( 254) + lmat( 254)
         mat( 257) = mat( 257) + lmat( 257)
         mat( 298) = mat( 298) + lmat( 298)
         mat( 300) = mat( 300) + lmat( 300)
         mat( 302) = mat( 302) + lmat( 302)
         mat( 308) = mat( 308) + lmat( 308)
         mat( 309) = mat( 309) + lmat( 309)
         mat( 314) = mat( 314) + lmat( 314)
         mat( 319) = mat( 319) + lmat( 319)
         mat( 322) = mat( 322) + lmat( 322)
         mat( 324) = mat( 324) + lmat( 324)
         mat( 348) = mat( 348) + lmat( 348)
         mat( 350) = lmat( 350)
         mat( 351) = mat( 351) + lmat( 351)
         mat( 353) = lmat( 353)
         mat( 378) = lmat( 378)
         mat( 379) = mat( 379) + lmat( 379)
         mat( 382) = lmat( 382)
         mat( 387) = lmat( 387)
         mat( 407) = lmat( 407)
         mat( 408) = mat( 408) + lmat( 408)
         mat( 409) = lmat( 409)
         mat( 412) = lmat( 412)
         mat( 415) = lmat( 415)
         mat( 416) = lmat( 416)
         mat( 417) = lmat( 417)
         mat( 418) = lmat( 418)
         mat( 420) = lmat( 420)
         mat( 421) = mat( 421) + lmat( 421)
         mat( 422) = lmat( 422)
         mat( 425) = lmat( 425)
         mat( 426) = lmat( 426)
         mat( 428) = lmat( 428)
         mat( 429) = mat( 429) + lmat( 429)
         mat( 431) = mat( 431) + lmat( 431)
         mat( 432) = lmat( 432)
         mat( 434) = mat( 434) + lmat( 434)
         mat( 435) = mat( 435) + lmat( 435)
         mat( 437) = lmat( 437)
         mat( 461) = mat( 461) + lmat( 461)
         mat( 463) = lmat( 463)
         mat( 465) = mat( 465) + lmat( 465)
         mat( 504) = mat( 504) + lmat( 504)
         mat( 505) = mat( 505) + lmat( 505)
         mat( 506) = lmat( 506)
         mat( 509) = mat( 509) + lmat( 509)
         mat( 510) = mat( 510) + lmat( 510)
         mat( 513) = mat( 513) + lmat( 513)
         mat( 521) = lmat( 521)
         mat( 522) = lmat( 522)
         mat( 523) = lmat( 523)
         mat( 528) = lmat( 528)
         mat( 530) = mat( 530) + lmat( 530)
         mat( 535) = mat( 535) + lmat( 535)
         mat( 536) = mat( 536) + lmat( 536)
         mat( 539) = mat( 539) + lmat( 539)
         mat( 541) = lmat( 541)
         mat( 548) = mat( 548) + lmat( 548)
         mat( 549) = lmat( 549)
         mat( 550) = lmat( 550)
         mat( 623) = mat( 623) + lmat( 623)
         mat( 634) = mat( 634) + lmat( 634)
         mat( 638) = mat( 638) + lmat( 638)
         mat( 642) = mat( 642) + lmat( 642)
         mat( 643) = lmat( 643)
         mat( 649) = mat( 649) + lmat( 649)
         mat( 651) = mat( 651) + lmat( 651)
         mat( 661) = lmat( 661)
         mat( 711) = mat( 711) + lmat( 711)
         mat( 722) = lmat( 722)
         mat( 743) = mat( 743) + lmat( 743)
         mat( 752) = mat( 752) + lmat( 752)
         mat( 761) = mat( 761) + lmat( 761)
         mat( 783) = mat( 783) + lmat( 783)
         mat( 787) = mat( 787) + lmat( 787)
         mat( 788) = mat( 788) + lmat( 788)
         mat( 797) = lmat( 797)
         mat( 830) = mat( 830) + lmat( 830)
         mat( 837) = mat( 837) + lmat( 837)
         mat( 840) = mat( 840) + lmat( 840)
         mat( 878) = mat( 878) + lmat( 878)
         mat( 884) = mat( 884) + lmat( 884)
         mat( 885) = lmat( 885)
         mat( 891) = mat( 891) + lmat( 891)
         mat( 892) = mat( 892) + lmat( 892)
         mat( 918) = lmat( 918)
         mat( 924) = mat( 924) + lmat( 924)
         mat( 930) = mat( 930) + lmat( 930)
         mat( 963) = mat( 963) + lmat( 963)
         mat( 972) = mat( 972) + lmat( 972)
         mat( 974) = mat( 974) + lmat( 974)
         mat( 979) = mat( 979) + lmat( 979)
         mat( 980) = mat( 980) + lmat( 980)
         mat( 991) = mat( 991) + lmat( 991)
         mat( 998) = mat( 998) + lmat( 998)
         mat( 1) = 0.
         mat( 2) = 0.
         mat( 3) = 0.
         mat( 5) = 0.
         mat( 6) = 0.
         mat( 7) = 0.
         mat( 8) = 0.
         mat( 131) = 0.
         mat( 132) = 0.
         mat( 134) = 0.
         mat( 152) = 0.
         mat( 167) = 0.
         mat( 175) = 0.
         mat( 196) = 0.
         mat( 235) = 0.
         mat( 237) = 0.
         mat( 239) = 0.
         mat( 282) = 0.
         mat( 284) = 0.
         mat( 289) = 0.
         mat( 290) = 0.
         mat( 293) = 0.
         mat( 303) = 0.
         mat( 320) = 0.
         mat( 321) = 0.
         mat( 335) = 0.
         mat( 341) = 0.
         mat( 359) = 0.
         mat( 361) = 0.
         mat( 362) = 0.
         mat( 363) = 0.
         mat( 370) = 0.
         mat( 371) = 0.
         mat( 372) = 0.
         mat( 380) = 0.
         mat( 384) = 0.
         mat( 396) = 0.
         mat( 400) = 0.
         mat( 410) = 0.
         mat( 411) = 0.
         mat( 414) = 0.
         mat( 423) = 0.
         mat( 424) = 0.
         mat( 439) = 0.
         mat( 443) = 0.
         mat( 444) = 0.
         mat( 445) = 0.
         mat( 447) = 0.
         mat( 448) = 0.
         mat( 451) = 0.
         mat( 452) = 0.
         mat( 456) = 0.
         mat( 468) = 0.
         mat( 471) = 0.
         mat( 472) = 0.
         mat( 475) = 0.
         mat( 476) = 0.
         mat( 484) = 0.
         mat( 485) = 0.
         mat( 486) = 0.
         mat( 487) = 0.
         mat( 488) = 0.
         mat( 492) = 0.
         mat( 500) = 0.
         mat( 501) = 0.
         mat( 507) = 0.
         mat( 512) = 0.
         mat( 514) = 0.
         mat( 520) = 0.
         mat( 524) = 0.
         mat( 525) = 0.
         mat( 526) = 0.
         mat( 527) = 0.
         mat( 532) = 0.
         mat( 534) = 0.
         mat( 537) = 0.
         mat( 543) = 0.
         mat( 544) = 0.
         mat( 547) = 0.
         mat( 551) = 0.
         mat( 555) = 0.
         mat( 557) = 0.
         mat( 562) = 0.
         mat( 583) = 0.
         mat( 584) = 0.
         mat( 587) = 0.
         mat( 594) = 0.
         mat( 597) = 0.
         mat( 605) = 0.
         mat( 607) = 0.
         mat( 608) = 0.
         mat( 610) = 0.
         mat( 616) = 0.
         mat( 627) = 0.
         mat( 633) = 0.
         mat( 637) = 0.
         mat( 639) = 0.
         mat( 640) = 0.
         mat( 647) = 0.
         mat( 648) = 0.
         mat( 650) = 0.
         mat( 653) = 0.
         mat( 654) = 0.
         mat( 657) = 0.
         mat( 658) = 0.
         mat( 680) = 0.
         mat( 696) = 0.
         mat( 700) = 0.
         mat( 786) = 0.
         mat( 790) = 0.
         mat( 801) = 0.
         mat( 804) = 0.
         mat( 809) = 0.
         mat( 811) = 0.
         mat( 815) = 0.
         mat( 817) = 0.
         mat( 819) = 0.
         mat( 821) = 0.
         mat( 833) = 0.
         mat( 880) = 0.
         mat( 886) = 0.
         mat( 888) = 0.
         mat( 890) = 0.
         mat( 895) = 0.
         mat( 896) = 0.
         mat( 903) = 0.
         mat( 905) = 0.
         mat( 906) = 0.
         mat( 907) = 0.
         mat( 908) = 0.
         mat( 910) = 0.
         mat( 911) = 0.
         mat( 914) = 0.
         mat( 915) = 0.
         mat( 917) = 0.
         mat( 923) = 0.
         mat( 926) = 0.
         mat( 927) = 0.
         mat( 931) = 0.
         mat( 932) = 0.
         mat( 933) = 0.
         mat( 938) = 0.
         mat( 939) = 0.
         mat( 941) = 0.
         mat( 945) = 0.
         mat( 949) = 0.
         mat( 960) = 0.
         mat( 961) = 0.
         mat( 962) = 0.
         mat( 964) = 0.
         mat( 967) = 0.
         mat( 968) = 0.
         mat( 975) = 0.
         mat( 976) = 0.
         mat( 977) = 0.
         mat( 984) = 0.
         mat( 985) = 0.
         mat( 986) = 0.
         mat( 994) = 0.
         mat( 995) = 0.
         mat( 1) = -dti
         mat( 2) = -dti
         mat( 3) = -dti
         mat( 4) = mat( 4) - dti
         mat( 5) = -dti
         mat( 6) = -dti
         mat( 7) = -dti
         mat( 8) = -dti
         mat( 9) = mat( 9) - dti
         mat( 13) = mat( 13) - dti
         mat( 16) = mat( 16) - dti
         mat( 20) = mat( 20) - dti
         mat( 22) = mat( 22) - dti
         mat( 24) = mat( 24) - dti
         mat( 27) = mat( 27) - dti
         mat( 32) = mat( 32) - dti
         mat( 36) = mat( 36) - dti
         mat( 41) = mat( 41) - dti
         mat( 44) = mat( 44) - dti
         mat( 52) = mat( 52) - dti
         mat( 57) = mat( 57) - dti
         mat( 60) = mat( 60) - dti
         mat( 65) = mat( 65) - dti
         mat( 69) = mat( 69) - dti
         mat( 73) = mat( 73) - dti
         mat( 77) = mat( 77) - dti
         mat( 81) = mat( 81) - dti
         mat( 87) = mat( 87) - dti
         mat( 92) = mat( 92) - dti
         mat( 97) = mat( 97) - dti
         mat( 102) = mat( 102) - dti
         mat( 107) = mat( 107) - dti
         mat( 112) = mat( 112) - dti
         mat( 115) = mat( 115) - dti
         mat( 119) = mat( 119) - dti
         mat( 124) = mat( 124) - dti
         mat( 130) = mat( 130) - dti
         mat( 137) = mat( 137) - dti
         mat( 143) = mat( 143) - dti
         mat( 151) = mat( 151) - dti
         mat( 159) = mat( 159) - dti
         mat( 164) = mat( 164) - dti
         mat( 173) = mat( 173) - dti
         mat( 179) = mat( 179) - dti
         mat( 192) = mat( 192) - dti
         mat( 200) = mat( 200) - dti
         mat( 206) = mat( 206) - dti
         mat( 215) = mat( 215) - dti
         mat( 224) = mat( 224) - dti
         mat( 234) = mat( 234) - dti
         mat( 244) = mat( 244) - dti
         mat( 254) = mat( 254) - dti
         mat( 260) = mat( 260) - dti
         mat( 275) = mat( 275) - dti
         mat( 287) = mat( 287) - dti
         mat( 298) = mat( 298) - dti
         mat( 308) = mat( 308) - dti
         mat( 319) = mat( 319) - dti
         mat( 327) = mat( 327) - dti
         mat( 338) = mat( 338) - dti
         mat( 348) = mat( 348) - dti
         mat( 357) = mat( 357) - dti
         mat( 366) = mat( 366) - dti
         mat( 379) = mat( 379) - dti
         mat( 395) = mat( 395) - dti
         mat( 408) = mat( 408) - dti
         mat( 421) = mat( 421) - dti
         mat( 429) = mat( 429) - dti
         mat( 434) = mat( 434) - dti
         mat( 446) = mat( 446) - dti
         mat( 461) = mat( 461) - dti
         mat( 473) = mat( 473) - dti
         mat( 489) = mat( 489) - dti
         mat( 505) = mat( 505) - dti
         mat( 530) = mat( 530) - dti
         mat( 548) = mat( 548) - dti
         mat( 560) = mat( 560) - dti
         mat( 593) = mat( 593) - dti
         mat( 602) = mat( 602) - dti
         mat( 634) = mat( 634) - dti
         mat( 651) = mat( 651) - dti
         mat( 711) = mat( 711) - dti
         mat( 788) = mat( 788) - dti
         mat( 830) = mat( 830) - dti
         mat( 878) = mat( 878) - dti
         mat( 891) = mat( 891) - dti
         mat( 913) = mat( 913) - dti
         mat( 930) = mat( 930) - dti
         mat( 950) = mat( 950) - dti
         mat( 979) = mat( 979) - dti
         mat( 998) = mat( 998) - dti

      end subroutine imp_nlnmat_finit

      subroutine imp_nlnmat( mat, y, rxt, lmat, dti )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, imp_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: dti
      real, intent(in) :: lmat(imp_nzcnt)
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(imp_nzcnt)

      call imp_nlnmat01( mat, y, rxt )
      call imp_nlnmat02( mat, y, rxt )
      call imp_nlnmat03( mat, y, rxt )
      call imp_nlnmat04( mat, y, rxt )
      call imp_nlnmat05( mat, y, rxt )
      call imp_nlnmat_finit( mat, lmat, dti )

      end subroutine imp_nlnmat

      end module MO_imp_NLN_MATRIX_MOD

      module MO_rod_NLN_MATRIX_MOD

      contains

      subroutine rod_nlnmat( mat, y, rxt, lmat, dti )

      use MO_GRID_MOD, only : pcnstm1
      use CHEM_MODS_MOD, only : rxntot, rod_nzcnt

      implicit none

!----------------------------------------------
! ... Dummy args
!----------------------------------------------
      real, intent(in) :: dti
      real, intent(in) :: lmat(rod_nzcnt)
      real, intent(in) :: y(pcnstm1)
      real, intent(in) :: rxt(rxntot)
      real, intent(inout) :: mat(rod_nzcnt)


      end subroutine rod_nlnmat

      end module MO_rod_NLN_MATRIX_MOD

      module MO_IMP_FACTOR_MOD

      contains

      subroutine imp_lu_fac01( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(1) = 1. / lu(1)

         lu(2) = 1. / lu(2)

         lu(3) = 1. / lu(3)

         lu(4) = 1. / lu(4)

         lu(5) = 1. / lu(5)

         lu(6) = 1. / lu(6)

         lu(7) = 1. / lu(7)

         lu(8) = 1. / lu(8)

         lu(9) = 1. / lu(9)
         lu(10) = lu(10) * lu(9)
         lu(11) = lu(11) * lu(9)
         lu(761) = lu(761) - lu(10) * lu(726)
         lu(788) = lu(788) - lu(11) * lu(726)

         lu(13) = 1. / lu(13)
         lu(14) = lu(14) * lu(13)
         lu(15) = lu(15) * lu(13)
         lu(773) = lu(773) - lu(14) * lu(727)
         lu(788) = lu(788) - lu(15) * lu(727)

         lu(16) = 1. / lu(16)
         lu(17) = lu(17) * lu(16)
         lu(18) = lu(18) * lu(16)
         lu(947) = lu(947) - lu(17) * lu(934)
         lu(950) = lu(950) - lu(18) * lu(934)

         lu(20) = 1. / lu(20)
         lu(21) = lu(21) * lu(20)
         lu(34) = lu(34) - lu(21) * lu(31)
         lu(636) = lu(636) - lu(21) * lu(612)
         lu(788) = lu(788) - lu(21) * lu(728)

         lu(22) = 1. / lu(22)
         lu(23) = lu(23) * lu(22)
         lu(177) = lu(177) - lu(23) * lu(171)
         lu(240) = lu(240) - lu(23) * lu(232)
         lu(912) = lu(912) - lu(23) * lu(897)

         lu(24) = 1. / lu(24)
         lu(25) = lu(25) * lu(24)
         lu(26) = lu(26) * lu(24)
         lu(152) = - lu(25) * lu(150)
         lu(157) = lu(157) - lu(26) * lu(150)
         lu(757) = lu(757) - lu(25) * lu(729)
         lu(788) = lu(788) - lu(26) * lu(729)

         lu(27) = 1. / lu(27)
         lu(28) = lu(28) * lu(27)
         lu(29) = lu(29) * lu(27)
         lu(30) = lu(30) * lu(27)
         lu(131) = - lu(28) * lu(129)
         lu(132) = - lu(29) * lu(129)
         lu(134) = - lu(30) * lu(129)
         lu(852) = lu(852) - lu(28) * lu(839)
         lu(875) = lu(875) - lu(29) * lu(839)
         lu(881) = lu(881) - lu(30) * lu(839)

         lu(32) = 1. / lu(32)
         lu(33) = lu(33) * lu(32)
         lu(34) = lu(34) * lu(32)
         lu(35) = lu(35) * lu(32)
         lu(634) = lu(634) - lu(33) * lu(613)
         lu(636) = lu(636) - lu(34) * lu(613)
         lu(642) = lu(642) - lu(35) * lu(613)
         lu(785) = lu(785) - lu(33) * lu(730)
         lu(788) = lu(788) - lu(34) * lu(730)
         lu(795) = lu(795) - lu(35) * lu(730)

         lu(36) = 1. / lu(36)
         lu(37) = lu(37) * lu(36)
         lu(38) = lu(38) * lu(36)
         lu(39) = lu(39) * lu(36)
         lu(878) = lu(878) - lu(37) * lu(840)
         lu(883) = lu(883) - lu(38) * lu(840)
         lu(884) = lu(884) - lu(39) * lu(840)
         lu(974) = lu(974) - lu(37) * lu(953)
         lu(979) = lu(979) - lu(38) * lu(953)
         lu(980) = lu(980) - lu(39) * lu(953)

         lu(41) = 1. / lu(41)
         lu(42) = lu(42) * lu(41)
         lu(43) = lu(43) * lu(41)
         lu(395) = lu(395) - lu(42) * lu(391)
         lu(402) = lu(402) - lu(43) * lu(391)
         lu(694) = lu(694) - lu(42) * lu(664)
         lu(712) = lu(712) - lu(43) * lu(664)
         lu(770) = lu(770) - lu(42) * lu(731)
         lu(788) = lu(788) - lu(43) * lu(731)

         lu(44) = 1. / lu(44)
         lu(45) = lu(45) * lu(44)
         lu(46) = lu(46) * lu(44)
         lu(47) = lu(47) * lu(44)
         lu(48) = lu(48) * lu(44)
         lu(49) = lu(49) * lu(44)
         lu(50) = lu(50) * lu(44)
         lu(51) = lu(51) * lu(44)
         lu(800) = lu(800) - lu(45) * lu(797)
         lu(824) = lu(824) - lu(46) * lu(797)
         lu(828) = lu(828) - lu(47) * lu(797)
         lu(829) = lu(829) - lu(48) * lu(797)
         lu(831) = lu(831) - lu(49) * lu(797)
         lu(834) = lu(834) - lu(50) * lu(797)
         lu(837) = lu(837) - lu(51) * lu(797)


      end subroutine imp_lu_fac01

      subroutine imp_lu_fac02( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(52) = 1. / lu(52)
         lu(53) = lu(53) * lu(52)
         lu(54) = lu(54) * lu(52)
         lu(55) = lu(55) * lu(52)
         lu(56) = lu(56) * lu(52)
         lu(560) = lu(560) - lu(53) * lu(558)
         lu(561) = lu(561) - lu(54) * lu(558)
         lu(562) = - lu(55) * lu(558)
         lu(568) = lu(568) - lu(56) * lu(558)
         lu(966) = lu(966) - lu(53) * lu(954)
         lu(967) = - lu(54) * lu(954)
         lu(969) = lu(969) - lu(55) * lu(954)
         lu(979) = lu(979) - lu(56) * lu(954)

         lu(57) = 1. / lu(57)
         lu(58) = lu(58) * lu(57)
         lu(59) = lu(59) * lu(57)
         lu(269) = lu(269) - lu(58) * lu(259)
         lu(270) = lu(270) - lu(59) * lu(259)
         lu(711) = lu(711) - lu(58) * lu(665)
         lu(712) = lu(712) - lu(59) * lu(665)
         lu(787) = lu(787) - lu(58) * lu(732)
         lu(788) = lu(788) - lu(59) * lu(732)
         lu(828) = lu(828) - lu(58) * lu(798)
         lu(829) = lu(829) - lu(59) * lu(798)

         lu(60) = 1. / lu(60)
         lu(61) = lu(61) * lu(60)
         lu(62) = lu(62) * lu(60)
         lu(63) = lu(63) * lu(60)
         lu(64) = lu(64) * lu(60)
         lu(646) = lu(646) - lu(61) * lu(644)
         lu(648) = - lu(62) * lu(644)
         lu(649) = lu(649) - lu(63) * lu(644)
         lu(650) = - lu(64) * lu(644)
         lu(960) = - lu(61) * lu(955)
         lu(963) = lu(963) - lu(62) * lu(955)
         lu(968) = - lu(63) * lu(955)
         lu(969) = lu(969) - lu(64) * lu(955)

         lu(65) = 1. / lu(65)
         lu(66) = lu(66) * lu(65)
         lu(67) = lu(67) * lu(65)
         lu(68) = lu(68) * lu(65)
         lu(711) = lu(711) - lu(66) * lu(666)
         lu(712) = lu(712) - lu(67) * lu(666)
         lu(719) = lu(719) - lu(68) * lu(666)
         lu(787) = lu(787) - lu(66) * lu(733)
         lu(788) = lu(788) - lu(67) * lu(733)
         lu(795) = lu(795) - lu(68) * lu(733)
         lu(971) = lu(971) - lu(66) * lu(956)
         lu(972) = lu(972) - lu(67) * lu(956)
         lu(979) = lu(979) - lu(68) * lu(956)

         lu(69) = 1. / lu(69)
         lu(70) = lu(70) * lu(69)
         lu(71) = lu(71) * lu(69)
         lu(72) = lu(72) * lu(69)
         lu(308) = lu(308) - lu(70) * lu(307)
         lu(309) = lu(309) - lu(71) * lu(307)
         lu(314) = lu(314) - lu(72) * lu(307)
         lu(687) = lu(687) - lu(70) * lu(667)
         lu(690) = lu(690) - lu(71) * lu(667)
         lu(712) = lu(712) - lu(72) * lu(667)
         lu(762) = lu(762) - lu(70) * lu(734)
         lu(766) = lu(766) - lu(71) * lu(734)
         lu(788) = lu(788) - lu(72) * lu(734)

         lu(73) = 1. / lu(73)
         lu(74) = lu(74) * lu(73)
         lu(75) = lu(75) * lu(73)
         lu(76) = lu(76) * lu(73)
         lu(484) = - lu(74) * lu(482)
         lu(489) = lu(489) - lu(75) * lu(482)
         lu(494) = lu(494) - lu(76) * lu(482)
         lu(689) = lu(689) - lu(74) * lu(668)
         lu(702) = lu(702) - lu(75) * lu(668)
         lu(712) = lu(712) - lu(76) * lu(668)
         lu(765) = lu(765) - lu(74) * lu(735)
         lu(778) = lu(778) - lu(75) * lu(735)
         lu(788) = lu(788) - lu(76) * lu(735)

         lu(77) = 1. / lu(77)
         lu(78) = lu(78) * lu(77)
         lu(79) = lu(79) * lu(77)
         lu(80) = lu(80) * lu(77)
         lu(471) = - lu(78) * lu(469)
         lu(473) = lu(473) - lu(79) * lu(469)
         lu(478) = lu(478) - lu(80) * lu(469)
         lu(698) = lu(698) - lu(78) * lu(669)
         lu(701) = lu(701) - lu(79) * lu(669)
         lu(712) = lu(712) - lu(80) * lu(669)
         lu(774) = lu(774) - lu(78) * lu(736)
         lu(777) = lu(777) - lu(79) * lu(736)
         lu(788) = lu(788) - lu(80) * lu(736)

         lu(81) = 1. / lu(81)
         lu(82) = lu(82) * lu(81)
         lu(83) = lu(83) * lu(81)
         lu(84) = lu(84) * lu(81)
         lu(85) = lu(85) * lu(81)
         lu(86) = lu(86) * lu(81)
         lu(746) = lu(746) - lu(82) * lu(737)
         lu(787) = lu(787) - lu(83) * lu(737)
         lu(788) = lu(788) - lu(84) * lu(737)
         lu(789) = lu(789) - lu(85) * lu(737)
         lu(793) = lu(793) - lu(86) * lu(737)
         lu(801) = - lu(82) * lu(799)
         lu(828) = lu(828) - lu(83) * lu(799)
         lu(829) = lu(829) - lu(84) * lu(799)
         lu(830) = lu(830) - lu(85) * lu(799)
         lu(834) = lu(834) - lu(86) * lu(799)

         lu(87) = 1. / lu(87)
         lu(88) = lu(88) * lu(87)
         lu(89) = lu(89) * lu(87)
         lu(90) = lu(90) * lu(87)
         lu(91) = lu(91) * lu(87)
         lu(192) = lu(192) - lu(88) * lu(189)
         lu(193) = lu(193) - lu(89) * lu(189)
         lu(195) = lu(195) - lu(90) * lu(189)
         lu(196) = - lu(91) * lu(189)
         lu(679) = lu(679) - lu(88) * lu(670)
         lu(700) = - lu(89) * lu(670)
         lu(711) = lu(711) - lu(90) * lu(670)
         lu(712) = lu(712) - lu(91) * lu(670)
         lu(752) = lu(752) - lu(88) * lu(738)
         lu(776) = lu(776) - lu(89) * lu(738)
         lu(787) = lu(787) - lu(90) * lu(738)
         lu(788) = lu(788) - lu(91) * lu(738)


      end subroutine imp_lu_fac02

      subroutine imp_lu_fac03( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(92) = 1. / lu(92)
         lu(93) = lu(93) * lu(92)
         lu(94) = lu(94) * lu(92)
         lu(95) = lu(95) * lu(92)
         lu(96) = lu(96) * lu(92)
         lu(286) = lu(286) - lu(93) * lu(285)
         lu(287) = lu(287) - lu(94) * lu(285)
         lu(292) = lu(292) - lu(95) * lu(285)
         lu(293) = - lu(96) * lu(285)
         lu(680) = - lu(93) * lu(671)
         lu(685) = lu(685) - lu(94) * lu(671)
         lu(711) = lu(711) - lu(95) * lu(671)
         lu(712) = lu(712) - lu(96) * lu(671)
         lu(753) = lu(753) - lu(93) * lu(739)
         lu(761) = lu(761) - lu(94) * lu(739)
         lu(787) = lu(787) - lu(95) * lu(739)
         lu(788) = lu(788) - lu(96) * lu(739)

         lu(97) = 1. / lu(97)
         lu(98) = lu(98) * lu(97)
         lu(99) = lu(99) * lu(97)
         lu(100) = lu(100) * lu(97)
         lu(193) = lu(193) - lu(98) * lu(190)
         lu(195) = lu(195) - lu(99) * lu(190)
         lu(196) = lu(196) - lu(100) * lu(190)
         lu(341) = - lu(98) * lu(337)
         lu(343) = lu(343) - lu(99) * lu(337)
         lu(344) = lu(344) - lu(100) * lu(337)
         lu(586) = lu(586) - lu(98) * lu(572)
         lu(595) = lu(595) - lu(99) * lu(572)
         lu(596) = lu(596) - lu(100) * lu(572)
         lu(776) = lu(776) - lu(98) * lu(740)
         lu(787) = lu(787) - lu(99) * lu(740)
         lu(788) = lu(788) - lu(100) * lu(740)

         lu(102) = 1. / lu(102)
         lu(103) = lu(103) * lu(102)
         lu(104) = lu(104) * lu(102)
         lu(105) = lu(105) * lu(102)
         lu(106) = lu(106) * lu(102)
         lu(443) = - lu(103) * lu(441)
         lu(446) = lu(446) - lu(104) * lu(441)
         lu(455) = lu(455) - lu(105) * lu(441)
         lu(459) = lu(459) - lu(106) * lu(441)
         lu(696) = - lu(103) * lu(672)
         lu(699) = lu(699) - lu(104) * lu(672)
         lu(712) = lu(712) - lu(105) * lu(672)
         lu(719) = lu(719) - lu(106) * lu(672)
         lu(772) = lu(772) - lu(103) * lu(741)
         lu(775) = lu(775) - lu(104) * lu(741)
         lu(788) = lu(788) - lu(105) * lu(741)
         lu(795) = lu(795) - lu(106) * lu(741)

         lu(107) = 1. / lu(107)
         lu(108) = lu(108) * lu(107)
         lu(109) = lu(109) * lu(107)
         lu(110) = lu(110) * lu(107)
         lu(111) = lu(111) * lu(107)
         lu(593) = lu(593) - lu(108) * lu(573)
         lu(595) = lu(595) - lu(109) * lu(573)
         lu(596) = lu(596) - lu(110) * lu(573)
         lu(599) = lu(599) - lu(111) * lu(573)
         lu(707) = lu(707) - lu(108) * lu(673)
         lu(711) = lu(711) - lu(109) * lu(673)
         lu(712) = lu(712) - lu(110) * lu(673)
         lu(717) = lu(717) - lu(111) * lu(673)
         lu(783) = lu(783) - lu(108) * lu(742)
         lu(787) = lu(787) - lu(109) * lu(742)
         lu(788) = lu(788) - lu(110) * lu(742)
         lu(793) = lu(793) - lu(111) * lu(742)

         lu(112) = 1. / lu(112)
         lu(113) = lu(113) * lu(112)
         lu(114) = lu(114) * lu(112)
         lu(175) = - lu(113) * lu(172)
         lu(177) = lu(177) - lu(114) * lu(172)
         lu(300) = lu(300) - lu(113) * lu(297)
         lu(303) = - lu(114) * lu(297)
         lu(358) = lu(358) - lu(113) * lu(354)
         lu(361) = - lu(114) * lu(354)
         lu(649) = lu(649) - lu(113) * lu(645)
         lu(656) = lu(656) - lu(114) * lu(645)
         lu(905) = - lu(113) * lu(898)
         lu(912) = lu(912) - lu(114) * lu(898)
         lu(940) = lu(940) - lu(113) * lu(935)
         lu(947) = lu(947) - lu(114) * lu(935)

         lu(115) = 1. / lu(115)
         lu(116) = lu(116) * lu(115)
         lu(117) = lu(117) * lu(115)
         lu(118) = lu(118) * lu(115)
         lu(787) = lu(787) - lu(116) * lu(743)
         lu(788) = lu(788) - lu(117) * lu(743)
         lu(789) = lu(789) - lu(118) * lu(743)
         lu(828) = lu(828) - lu(116) * lu(800)
         lu(829) = lu(829) - lu(117) * lu(800)
         lu(830) = lu(830) - lu(118) * lu(800)
         lu(924) = lu(924) - lu(116) * lu(918)
         lu(925) = lu(925) - lu(117) * lu(918)
         lu(926) = - lu(118) * lu(918)
         lu(989) = lu(989) - lu(116) * lu(981)
         lu(990) = lu(990) - lu(117) * lu(981)
         lu(991) = lu(991) - lu(118) * lu(981)

         lu(119) = 1. / lu(119)
         lu(120) = lu(120) * lu(119)
         lu(121) = lu(121) * lu(119)
         lu(122) = lu(122) * lu(119)
         lu(123) = lu(123) * lu(119)
         lu(485) = - lu(120) * lu(483)
         lu(489) = lu(489) - lu(121) * lu(483)
         lu(494) = lu(494) - lu(122) * lu(483)
         lu(498) = lu(498) - lu(123) * lu(483)
         lu(766) = lu(766) - lu(120) * lu(744)
         lu(778) = lu(778) - lu(121) * lu(744)
         lu(788) = lu(788) - lu(122) * lu(744)
         lu(795) = lu(795) - lu(123) * lu(744)
         lu(961) = - lu(120) * lu(957)
         lu(965) = lu(965) - lu(121) * lu(957)
         lu(972) = lu(972) - lu(122) * lu(957)
         lu(979) = lu(979) - lu(123) * lu(957)

         lu(124) = 1. / lu(124)
         lu(125) = lu(125) * lu(124)
         lu(126) = lu(126) * lu(124)
         lu(127) = lu(127) * lu(124)
         lu(128) = lu(128) * lu(124)
         lu(560) = lu(560) - lu(125) * lu(559)
         lu(561) = lu(561) - lu(126) * lu(559)
         lu(564) = lu(564) - lu(127) * lu(559)
         lu(567) = lu(567) - lu(128) * lu(559)
         lu(706) = lu(706) - lu(125) * lu(674)
         lu(707) = lu(707) - lu(126) * lu(674)
         lu(712) = lu(712) - lu(127) * lu(674)
         lu(717) = lu(717) - lu(128) * lu(674)
         lu(782) = lu(782) - lu(125) * lu(745)
         lu(783) = lu(783) - lu(126) * lu(745)
         lu(788) = lu(788) - lu(127) * lu(745)
         lu(793) = lu(793) - lu(128) * lu(745)

         lu(130) = 1. / lu(130)
         lu(131) = lu(131) * lu(130)
         lu(132) = lu(132) * lu(130)
         lu(133) = lu(133) * lu(130)
         lu(134) = lu(134) * lu(130)
         lu(135) = lu(135) * lu(130)
         lu(763) = lu(763) - lu(131) * lu(746)
         lu(787) = lu(787) - lu(132) * lu(746)
         lu(790) = - lu(133) * lu(746)
         lu(793) = lu(793) - lu(134) * lu(746)
         lu(795) = lu(795) - lu(135) * lu(746)
         lu(809) = - lu(131) * lu(801)
         lu(828) = lu(828) - lu(132) * lu(801)
         lu(831) = lu(831) - lu(133) * lu(801)
         lu(834) = lu(834) - lu(134) * lu(801)
         lu(836) = lu(836) - lu(135) * lu(801)
         lu(852) = lu(852) - lu(131) * lu(841)
         lu(875) = lu(875) - lu(132) * lu(841)
         lu(878) = lu(878) - lu(133) * lu(841)
         lu(881) = lu(881) - lu(134) * lu(841)
         lu(883) = lu(883) - lu(135) * lu(841)


      end subroutine imp_lu_fac03

      subroutine imp_lu_fac04( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(137) = 1. / lu(137)
         lu(138) = lu(138) * lu(137)
         lu(139) = lu(139) * lu(137)
         lu(140) = lu(140) * lu(137)
         lu(141) = lu(141) * lu(137)
         lu(142) = lu(142) * lu(137)
         lu(164) = lu(164) - lu(138) * lu(163)
         lu(165) = lu(165) - lu(139) * lu(163)
         lu(166) = lu(166) - lu(140) * lu(163)
         lu(167) = - lu(141) * lu(163)
         lu(169) = lu(169) - lu(142) * lu(163)
         lu(677) = lu(677) - lu(138) * lu(675)
         lu(700) = lu(700) - lu(139) * lu(675)
         lu(711) = lu(711) - lu(140) * lu(675)
         lu(712) = lu(712) - lu(141) * lu(675)
         lu(717) = lu(717) - lu(142) * lu(675)
         lu(750) = lu(750) - lu(138) * lu(747)
         lu(776) = lu(776) - lu(139) * lu(747)
         lu(787) = lu(787) - lu(140) * lu(747)
         lu(788) = lu(788) - lu(141) * lu(747)
         lu(793) = lu(793) - lu(142) * lu(747)

         lu(143) = 1. / lu(143)
         lu(144) = lu(144) * lu(143)
         lu(145) = lu(145) * lu(143)
         lu(146) = lu(146) * lu(143)
         lu(147) = lu(147) * lu(143)
         lu(148) = lu(148) * lu(143)
         lu(623) = lu(623) - lu(144) * lu(614)
         lu(634) = lu(634) - lu(145) * lu(614)
         lu(639) = - lu(146) * lu(614)
         lu(640) = - lu(147) * lu(614)
         lu(642) = lu(642) - lu(148) * lu(614)
         lu(904) = lu(904) - lu(144) * lu(899)
         lu(906) = - lu(145) * lu(899)
         lu(912) = lu(912) - lu(146) * lu(899)
         lu(913) = lu(913) - lu(147) * lu(899)
         lu(916) = lu(916) - lu(148) * lu(899)
         lu(963) = lu(963) - lu(144) * lu(958)
         lu(969) = lu(969) - lu(145) * lu(958)
         lu(975) = - lu(146) * lu(958)
         lu(976) = - lu(147) * lu(958)
         lu(979) = lu(979) - lu(148) * lu(958)

         lu(151) = 1. / lu(151)
         lu(152) = lu(152) * lu(151)
         lu(153) = lu(153) * lu(151)
         lu(154) = lu(154) * lu(151)
         lu(155) = lu(155) * lu(151)
         lu(156) = lu(156) * lu(151)
         lu(157) = lu(157) * lu(151)
         lu(158) = lu(158) * lu(151)
         lu(520) = - lu(152) * lu(517)
         lu(529) = lu(529) - lu(153) * lu(517)
         lu(530) = lu(530) - lu(154) * lu(517)
         lu(531) = lu(531) - lu(155) * lu(517)
         lu(535) = lu(535) - lu(156) * lu(517)
         lu(536) = lu(536) - lu(157) * lu(517)
         lu(539) = lu(539) - lu(158) * lu(517)
         lu(683) = lu(683) - lu(152) * lu(676)
         lu(703) = lu(703) - lu(153) * lu(676)
         lu(704) = lu(704) - lu(154) * lu(676)
         lu(705) = lu(705) - lu(155) * lu(676)
         lu(711) = lu(711) - lu(156) * lu(676)
         lu(712) = lu(712) - lu(157) * lu(676)
         lu(717) = lu(717) - lu(158) * lu(676)
         lu(757) = lu(757) - lu(152) * lu(748)
         lu(779) = lu(779) - lu(153) * lu(748)
         lu(780) = lu(780) - lu(154) * lu(748)
         lu(781) = lu(781) - lu(155) * lu(748)
         lu(787) = lu(787) - lu(156) * lu(748)
         lu(788) = lu(788) - lu(157) * lu(748)
         lu(793) = lu(793) - lu(158) * lu(748)

         lu(159) = 1. / lu(159)
         lu(160) = lu(160) * lu(159)
         lu(161) = lu(161) * lu(159)
         lu(162) = lu(162) * lu(159)
         lu(195) = lu(195) - lu(160) * lu(191)
         lu(196) = lu(196) - lu(161) * lu(191)
         lu(198) = lu(198) - lu(162) * lu(191)
         lu(279) = lu(279) - lu(160) * lu(273)
         lu(280) = lu(280) - lu(161) * lu(273)
         lu(283) = lu(283) - lu(162) * lu(273)
         lu(401) = lu(401) - lu(160) * lu(392)
         lu(402) = lu(402) - lu(161) * lu(392)
         lu(404) = lu(404) - lu(162) * lu(392)
         lu(535) = lu(535) - lu(160) * lu(518)
         lu(536) = lu(536) - lu(161) * lu(518)
         lu(539) = lu(539) - lu(162) * lu(518)
         lu(595) = lu(595) - lu(160) * lu(574)
         lu(596) = lu(596) - lu(161) * lu(574)
         lu(599) = lu(599) - lu(162) * lu(574)
         lu(787) = lu(787) - lu(160) * lu(749)
         lu(788) = lu(788) - lu(161) * lu(749)
         lu(793) = lu(793) - lu(162) * lu(749)
         lu(828) = lu(828) - lu(160) * lu(802)
         lu(829) = lu(829) - lu(161) * lu(802)
         lu(834) = lu(834) - lu(162) * lu(802)

         lu(164) = 1. / lu(164)
         lu(165) = lu(165) * lu(164)
         lu(166) = lu(166) * lu(164)
         lu(167) = lu(167) * lu(164)
         lu(168) = lu(168) * lu(164)
         lu(169) = lu(169) * lu(164)
         lu(170) = lu(170) * lu(164)
         lu(277) = lu(277) - lu(165) * lu(274)
         lu(279) = lu(279) - lu(166) * lu(274)
         lu(280) = lu(280) - lu(167) * lu(274)
         lu(282) = - lu(168) * lu(274)
         lu(283) = lu(283) - lu(169) * lu(274)
         lu(284) = - lu(170) * lu(274)
         lu(700) = lu(700) - lu(165) * lu(677)
         lu(711) = lu(711) - lu(166) * lu(677)
         lu(712) = lu(712) - lu(167) * lu(677)
         lu(714) = lu(714) - lu(168) * lu(677)
         lu(717) = lu(717) - lu(169) * lu(677)
         lu(719) = lu(719) - lu(170) * lu(677)
         lu(776) = lu(776) - lu(165) * lu(750)
         lu(787) = lu(787) - lu(166) * lu(750)
         lu(788) = lu(788) - lu(167) * lu(750)
         lu(790) = lu(790) - lu(168) * lu(750)
         lu(793) = lu(793) - lu(169) * lu(750)
         lu(795) = lu(795) - lu(170) * lu(750)
         lu(864) = lu(864) - lu(165) * lu(842)
         lu(875) = lu(875) - lu(166) * lu(842)
         lu(876) = lu(876) - lu(167) * lu(842)
         lu(878) = lu(878) - lu(168) * lu(842)
         lu(881) = lu(881) - lu(169) * lu(842)
         lu(883) = lu(883) - lu(170) * lu(842)

         lu(173) = 1. / lu(173)
         lu(174) = lu(174) * lu(173)
         lu(175) = lu(175) * lu(173)
         lu(176) = lu(176) * lu(173)
         lu(177) = lu(177) * lu(173)
         lu(178) = lu(178) * lu(173)
         lu(235) = - lu(174) * lu(233)
         lu(237) = - lu(175) * lu(233)
         lu(239) = - lu(176) * lu(233)
         lu(240) = lu(240) - lu(177) * lu(233)
         lu(241) = lu(241) - lu(178) * lu(233)
         lu(357) = lu(357) - lu(174) * lu(355)
         lu(358) = lu(358) - lu(175) * lu(355)
         lu(360) = lu(360) - lu(176) * lu(355)
         lu(361) = lu(361) - lu(177) * lu(355)
         lu(362) = - lu(178) * lu(355)
         lu(691) = lu(691) - lu(174) * lu(678)
         lu(708) = lu(708) - lu(175) * lu(678)
         lu(712) = lu(712) - lu(176) * lu(678)
         lu(715) = lu(715) - lu(177) * lu(678)
         lu(716) = lu(716) - lu(178) * lu(678)
         lu(903) = - lu(174) * lu(900)
         lu(905) = lu(905) - lu(175) * lu(900)
         lu(909) = lu(909) - lu(176) * lu(900)
         lu(912) = lu(912) - lu(177) * lu(900)
         lu(913) = lu(913) - lu(178) * lu(900)
         lu(938) = - lu(174) * lu(936)
         lu(940) = lu(940) - lu(175) * lu(936)
         lu(944) = lu(944) - lu(176) * lu(936)
         lu(947) = lu(947) - lu(177) * lu(936)
         lu(948) = lu(948) - lu(178) * lu(936)


      end subroutine imp_lu_fac04

      subroutine imp_lu_fac05( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(179) = 1. / lu(179)
         lu(180) = lu(180) * lu(179)
         lu(181) = lu(181) * lu(179)
         lu(182) = lu(182) * lu(179)
         lu(183) = lu(183) * lu(179)
         lu(184) = lu(184) * lu(179)
         lu(185) = lu(185) * lu(179)
         lu(186) = lu(186) * lu(179)
         lu(187) = lu(187) * lu(179)
         lu(188) = lu(188) * lu(179)
         lu(616) = - lu(180) * lu(615)
         lu(629) = lu(629) - lu(181) * lu(615)
         lu(630) = lu(630) - lu(182) * lu(615)
         lu(631) = lu(631) - lu(183) * lu(615)
         lu(634) = lu(634) - lu(184) * lu(615)
         lu(636) = lu(636) - lu(185) * lu(615)
         lu(637) = - lu(186) * lu(615)
         lu(642) = lu(642) - lu(187) * lu(615)
         lu(643) = lu(643) - lu(188) * lu(615)
         lu(753) = lu(753) - lu(180) * lu(751)
         lu(779) = lu(779) - lu(181) * lu(751)
         lu(780) = lu(780) - lu(182) * lu(751)
         lu(781) = lu(781) - lu(183) * lu(751)
         lu(785) = lu(785) - lu(184) * lu(751)
         lu(788) = lu(788) - lu(185) * lu(751)
         lu(789) = lu(789) - lu(186) * lu(751)
         lu(795) = lu(795) - lu(187) * lu(751)
         lu(796) = lu(796) - lu(188) * lu(751)
         lu(804) = - lu(180) * lu(803)
         lu(820) = lu(820) - lu(181) * lu(803)
         lu(821) = - lu(182) * lu(803)
         lu(822) = lu(822) - lu(183) * lu(803)
         lu(826) = lu(826) - lu(184) * lu(803)
         lu(829) = lu(829) - lu(185) * lu(803)
         lu(830) = lu(830) - lu(186) * lu(803)
         lu(836) = lu(836) - lu(187) * lu(803)
         lu(837) = lu(837) - lu(188) * lu(803)

         lu(192) = 1. / lu(192)
         lu(193) = lu(193) * lu(192)
         lu(194) = lu(194) * lu(192)
         lu(195) = lu(195) * lu(192)
         lu(196) = lu(196) * lu(192)
         lu(197) = lu(197) * lu(192)
         lu(198) = lu(198) * lu(192)
         lu(199) = lu(199) * lu(192)
         lu(586) = lu(586) - lu(193) * lu(575)
         lu(593) = lu(593) - lu(194) * lu(575)
         lu(595) = lu(595) - lu(195) * lu(575)
         lu(596) = lu(596) - lu(196) * lu(575)
         lu(598) = lu(598) - lu(197) * lu(575)
         lu(599) = lu(599) - lu(198) * lu(575)
         lu(600) = lu(600) - lu(199) * lu(575)
         lu(700) = lu(700) - lu(193) * lu(679)
         lu(707) = lu(707) - lu(194) * lu(679)
         lu(711) = lu(711) - lu(195) * lu(679)
         lu(712) = lu(712) - lu(196) * lu(679)
         lu(714) = lu(714) - lu(197) * lu(679)
         lu(717) = lu(717) - lu(198) * lu(679)
         lu(719) = lu(719) - lu(199) * lu(679)
         lu(776) = lu(776) - lu(193) * lu(752)
         lu(783) = lu(783) - lu(194) * lu(752)
         lu(787) = lu(787) - lu(195) * lu(752)
         lu(788) = lu(788) - lu(196) * lu(752)
         lu(790) = lu(790) - lu(197) * lu(752)
         lu(793) = lu(793) - lu(198) * lu(752)
         lu(795) = lu(795) - lu(199) * lu(752)
         lu(864) = lu(864) - lu(193) * lu(843)
         lu(871) = lu(871) - lu(194) * lu(843)
         lu(875) = lu(875) - lu(195) * lu(843)
         lu(876) = lu(876) - lu(196) * lu(843)
         lu(878) = lu(878) - lu(197) * lu(843)
         lu(881) = lu(881) - lu(198) * lu(843)
         lu(883) = lu(883) - lu(199) * lu(843)

         lu(200) = 1. / lu(200)
         lu(201) = lu(201) * lu(200)
         lu(202) = lu(202) * lu(200)
         lu(203) = lu(203) * lu(200)
         lu(204) = lu(204) * lu(200)
         lu(289) = - lu(201) * lu(286)
         lu(290) = - lu(202) * lu(286)
         lu(291) = lu(291) - lu(203) * lu(286)
         lu(293) = lu(293) - lu(204) * lu(286)
         lu(423) = - lu(201) * lu(420)
         lu(424) = - lu(202) * lu(420)
         lu(425) = lu(425) - lu(203) * lu(420)
         lu(427) = lu(427) - lu(204) * lu(420)
         lu(587) = - lu(201) * lu(576)
         lu(592) = lu(592) - lu(202) * lu(576)
         lu(593) = lu(593) - lu(203) * lu(576)
         lu(596) = lu(596) - lu(204) * lu(576)
         lu(627) = - lu(201) * lu(616)
         lu(632) = lu(632) - lu(202) * lu(616)
         lu(633) = - lu(203) * lu(616)
         lu(636) = lu(636) - lu(204) * lu(616)
         lu(701) = lu(701) - lu(201) * lu(680)
         lu(706) = lu(706) - lu(202) * lu(680)
         lu(707) = lu(707) - lu(203) * lu(680)
         lu(712) = lu(712) - lu(204) * lu(680)
         lu(777) = lu(777) - lu(201) * lu(753)
         lu(782) = lu(782) - lu(202) * lu(753)
         lu(783) = lu(783) - lu(203) * lu(753)
         lu(788) = lu(788) - lu(204) * lu(753)
         lu(819) = - lu(201) * lu(804)
         lu(823) = lu(823) - lu(202) * lu(804)
         lu(824) = lu(824) - lu(203) * lu(804)
         lu(829) = lu(829) - lu(204) * lu(804)
         lu(865) = lu(865) - lu(201) * lu(844)
         lu(870) = lu(870) - lu(202) * lu(844)
         lu(871) = lu(871) - lu(203) * lu(844)
         lu(876) = lu(876) - lu(204) * lu(844)

         lu(206) = 1. / lu(206)
         lu(207) = lu(207) * lu(206)
         lu(208) = lu(208) * lu(206)
         lu(209) = lu(209) * lu(206)
         lu(210) = lu(210) * lu(206)
         lu(211) = lu(211) * lu(206)
         lu(212) = lu(212) * lu(206)
         lu(213) = lu(213) * lu(206)
         lu(214) = lu(214) * lu(206)
         lu(524) = - lu(207) * lu(519)
         lu(525) = - lu(208) * lu(519)
         lu(526) = - lu(209) * lu(519)
         lu(535) = lu(535) - lu(210) * lu(519)
         lu(536) = lu(536) - lu(211) * lu(519)
         lu(537) = - lu(212) * lu(519)
         lu(539) = lu(539) - lu(213) * lu(519)
         lu(540) = lu(540) - lu(214) * lu(519)
         lu(768) = lu(768) - lu(207) * lu(754)
         lu(769) = lu(769) - lu(208) * lu(754)
         lu(771) = lu(771) - lu(209) * lu(754)
         lu(787) = lu(787) - lu(210) * lu(754)
         lu(788) = lu(788) - lu(211) * lu(754)
         lu(789) = lu(789) - lu(212) * lu(754)
         lu(793) = lu(793) - lu(213) * lu(754)
         lu(795) = lu(795) - lu(214) * lu(754)
         lu(811) = - lu(207) * lu(805)
         lu(812) = lu(812) - lu(208) * lu(805)
         lu(813) = lu(813) - lu(209) * lu(805)
         lu(828) = lu(828) - lu(210) * lu(805)
         lu(829) = lu(829) - lu(211) * lu(805)
         lu(830) = lu(830) - lu(212) * lu(805)
         lu(834) = lu(834) - lu(213) * lu(805)
         lu(836) = lu(836) - lu(214) * lu(805)
         lu(856) = lu(856) - lu(207) * lu(845)
         lu(857) = lu(857) - lu(208) * lu(845)
         lu(859) = lu(859) - lu(209) * lu(845)
         lu(875) = lu(875) - lu(210) * lu(845)
         lu(876) = lu(876) - lu(211) * lu(845)
         lu(877) = lu(877) - lu(212) * lu(845)
         lu(881) = lu(881) - lu(213) * lu(845)
         lu(883) = lu(883) - lu(214) * lu(845)

         lu(215) = 1. / lu(215)
         lu(216) = lu(216) * lu(215)
         lu(217) = lu(217) * lu(215)
         lu(218) = lu(218) * lu(215)
         lu(219) = lu(219) * lu(215)
         lu(220) = lu(220) * lu(215)
         lu(221) = lu(221) * lu(215)
         lu(222) = lu(222) * lu(215)
         lu(223) = lu(223) * lu(215)
         lu(407) = lu(407) - lu(216) * lu(406)
         lu(409) = lu(409) - lu(217) * lu(406)
         lu(411) = - lu(218) * lu(406)
         lu(412) = lu(412) - lu(219) * lu(406)
         lu(413) = lu(413) - lu(220) * lu(406)
         lu(414) = - lu(221) * lu(406)
         lu(415) = lu(415) - lu(222) * lu(406)
         lu(416) = lu(416) - lu(223) * lu(406)
         lu(690) = lu(690) - lu(216) * lu(681)
         lu(698) = lu(698) - lu(217) * lu(681)
         lu(709) = lu(709) - lu(218) * lu(681)
         lu(711) = lu(711) - lu(219) * lu(681)
         lu(712) = lu(712) - lu(220) * lu(681)
         lu(714) = lu(714) - lu(221) * lu(681)
         lu(717) = lu(717) - lu(222) * lu(681)
         lu(719) = lu(719) - lu(223) * lu(681)
         lu(766) = lu(766) - lu(216) * lu(755)
         lu(774) = lu(774) - lu(217) * lu(755)
         lu(785) = lu(785) - lu(218) * lu(755)
         lu(787) = lu(787) - lu(219) * lu(755)
         lu(788) = lu(788) - lu(220) * lu(755)
         lu(790) = lu(790) - lu(221) * lu(755)
         lu(793) = lu(793) - lu(222) * lu(755)
         lu(795) = lu(795) - lu(223) * lu(755)
         lu(855) = lu(855) - lu(216) * lu(846)
         lu(862) = lu(862) - lu(217) * lu(846)
         lu(873) = lu(873) - lu(218) * lu(846)
         lu(875) = lu(875) - lu(219) * lu(846)
         lu(876) = lu(876) - lu(220) * lu(846)
         lu(878) = lu(878) - lu(221) * lu(846)
         lu(881) = lu(881) - lu(222) * lu(846)
         lu(883) = lu(883) - lu(223) * lu(846)


      end subroutine imp_lu_fac05

      subroutine imp_lu_fac06( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(224) = 1. / lu(224)
         lu(225) = lu(225) * lu(224)
         lu(226) = lu(226) * lu(224)
         lu(227) = lu(227) * lu(224)
         lu(228) = lu(228) * lu(224)
         lu(229) = lu(229) * lu(224)
         lu(230) = lu(230) * lu(224)
         lu(231) = lu(231) * lu(224)
         lu(328) = lu(328) - lu(225) * lu(325)
         lu(329) = lu(329) - lu(226) * lu(325)
         lu(331) = lu(331) - lu(227) * lu(325)
         lu(332) = lu(332) - lu(228) * lu(325)
         lu(334) = lu(334) - lu(229) * lu(325)
         lu(335) = - lu(230) * lu(325)
         lu(336) = lu(336) - lu(231) * lu(325)
         lu(622) = lu(622) - lu(225) * lu(617)
         lu(623) = lu(623) - lu(226) * lu(617)
         lu(634) = lu(634) - lu(227) * lu(617)
         lu(635) = lu(635) - lu(228) * lu(617)
         lu(637) = lu(637) - lu(229) * lu(617)
         lu(638) = lu(638) - lu(230) * lu(617)
         lu(642) = lu(642) - lu(231) * lu(617)
         lu(696) = lu(696) - lu(225) * lu(682)
         lu(697) = lu(697) - lu(226) * lu(682)
         lu(709) = lu(709) - lu(227) * lu(682)
         lu(711) = lu(711) - lu(228) * lu(682)
         lu(713) = lu(713) - lu(229) * lu(682)
         lu(714) = lu(714) - lu(230) * lu(682)
         lu(719) = lu(719) - lu(231) * lu(682)
         lu(772) = lu(772) - lu(225) * lu(756)
         lu(773) = lu(773) - lu(226) * lu(756)
         lu(785) = lu(785) - lu(227) * lu(756)
         lu(787) = lu(787) - lu(228) * lu(756)
         lu(789) = lu(789) - lu(229) * lu(756)
         lu(790) = lu(790) - lu(230) * lu(756)
         lu(795) = lu(795) - lu(231) * lu(756)
         lu(860) = lu(860) - lu(225) * lu(847)
         lu(861) = lu(861) - lu(226) * lu(847)
         lu(873) = lu(873) - lu(227) * lu(847)
         lu(875) = lu(875) - lu(228) * lu(847)
         lu(877) = lu(877) - lu(229) * lu(847)
         lu(878) = lu(878) - lu(230) * lu(847)
         lu(883) = lu(883) - lu(231) * lu(847)

         lu(234) = 1. / lu(234)
         lu(235) = lu(235) * lu(234)
         lu(236) = lu(236) * lu(234)
         lu(237) = lu(237) * lu(234)
         lu(238) = lu(238) * lu(234)
         lu(239) = lu(239) * lu(234)
         lu(240) = lu(240) * lu(234)
         lu(241) = lu(241) * lu(234)
         lu(242) = lu(242) * lu(234)
         lu(243) = lu(243) * lu(234)
         lu(903) = lu(903) - lu(235) * lu(901)
         lu(904) = lu(904) - lu(236) * lu(901)
         lu(905) = lu(905) - lu(237) * lu(901)
         lu(906) = lu(906) - lu(238) * lu(901)
         lu(909) = lu(909) - lu(239) * lu(901)
         lu(912) = lu(912) - lu(240) * lu(901)
         lu(913) = lu(913) - lu(241) * lu(901)
         lu(915) = - lu(242) * lu(901)
         lu(917) = - lu(243) * lu(901)
         lu(938) = lu(938) - lu(235) * lu(937)
         lu(939) = - lu(236) * lu(937)
         lu(940) = lu(940) - lu(237) * lu(937)
         lu(941) = - lu(238) * lu(937)
         lu(944) = lu(944) - lu(239) * lu(937)
         lu(947) = lu(947) - lu(240) * lu(937)
         lu(948) = lu(948) - lu(241) * lu(937)
         lu(950) = lu(950) - lu(242) * lu(937)
         lu(952) = lu(952) - lu(243) * lu(937)
         lu(962) = - lu(235) * lu(959)
         lu(963) = lu(963) - lu(236) * lu(959)
         lu(968) = lu(968) - lu(237) * lu(959)
         lu(969) = lu(969) - lu(238) * lu(959)
         lu(972) = lu(972) - lu(239) * lu(959)
         lu(975) = lu(975) - lu(240) * lu(959)
         lu(976) = lu(976) - lu(241) * lu(959)
         lu(978) = lu(978) - lu(242) * lu(959)
         lu(980) = lu(980) - lu(243) * lu(959)
         lu(984) = - lu(235) * lu(982)
         lu(985) = - lu(236) * lu(982)
         lu(986) = - lu(237) * lu(982)
         lu(987) = lu(987) - lu(238) * lu(982)
         lu(990) = lu(990) - lu(239) * lu(982)
         lu(993) = lu(993) - lu(240) * lu(982)
         lu(994) = - lu(241) * lu(982)
         lu(996) = lu(996) - lu(242) * lu(982)
         lu(998) = lu(998) - lu(243) * lu(982)

         lu(244) = 1. / lu(244)
         lu(245) = lu(245) * lu(244)
         lu(246) = lu(246) * lu(244)
         lu(247) = lu(247) * lu(244)
         lu(248) = lu(248) * lu(244)
         lu(249) = lu(249) * lu(244)
         lu(250) = lu(250) * lu(244)
         lu(251) = lu(251) * lu(244)
         lu(252) = lu(252) * lu(244)
         lu(253) = lu(253) * lu(244)
         lu(521) = lu(521) - lu(245) * lu(520)
         lu(522) = lu(522) - lu(246) * lu(520)
         lu(523) = lu(523) - lu(247) * lu(520)
         lu(528) = lu(528) - lu(248) * lu(520)
         lu(535) = lu(535) - lu(249) * lu(520)
         lu(536) = lu(536) - lu(250) * lu(520)
         lu(538) = lu(538) - lu(251) * lu(520)
         lu(539) = lu(539) - lu(252) * lu(520)
         lu(540) = lu(540) - lu(253) * lu(520)
         lu(684) = lu(684) - lu(245) * lu(683)
         lu(688) = lu(688) - lu(246) * lu(683)
         lu(690) = lu(690) - lu(247) * lu(683)
         lu(698) = lu(698) - lu(248) * lu(683)
         lu(711) = lu(711) - lu(249) * lu(683)
         lu(712) = lu(712) - lu(250) * lu(683)
         lu(714) = lu(714) - lu(251) * lu(683)
         lu(717) = lu(717) - lu(252) * lu(683)
         lu(719) = lu(719) - lu(253) * lu(683)
         lu(758) = lu(758) - lu(245) * lu(757)
         lu(763) = lu(763) - lu(246) * lu(757)
         lu(766) = lu(766) - lu(247) * lu(757)
         lu(774) = lu(774) - lu(248) * lu(757)
         lu(787) = lu(787) - lu(249) * lu(757)
         lu(788) = lu(788) - lu(250) * lu(757)
         lu(790) = lu(790) - lu(251) * lu(757)
         lu(793) = lu(793) - lu(252) * lu(757)
         lu(795) = lu(795) - lu(253) * lu(757)
         lu(849) = lu(849) - lu(245) * lu(848)
         lu(852) = lu(852) - lu(246) * lu(848)
         lu(855) = lu(855) - lu(247) * lu(848)
         lu(862) = lu(862) - lu(248) * lu(848)
         lu(875) = lu(875) - lu(249) * lu(848)
         lu(876) = lu(876) - lu(250) * lu(848)
         lu(878) = lu(878) - lu(251) * lu(848)
         lu(881) = lu(881) - lu(252) * lu(848)
         lu(883) = lu(883) - lu(253) * lu(848)

         lu(254) = 1. / lu(254)
         lu(255) = lu(255) * lu(254)
         lu(256) = lu(256) * lu(254)
         lu(257) = lu(257) * lu(254)
         lu(258) = lu(258) * lu(254)
         lu(320) = - lu(255) * lu(318)
         lu(321) = - lu(256) * lu(318)
         lu(322) = lu(322) - lu(257) * lu(318)
         lu(323) = lu(323) - lu(258) * lu(318)
         lu(329) = lu(329) - lu(255) * lu(326)
         lu(331) = lu(331) - lu(256) * lu(326)
         lu(332) = lu(332) - lu(257) * lu(326)
         lu(333) = lu(333) - lu(258) * lu(326)
         lu(527) = - lu(255) * lu(521)
         lu(534) = - lu(256) * lu(521)
         lu(535) = lu(535) - lu(257) * lu(521)
         lu(536) = lu(536) - lu(258) * lu(521)
         lu(623) = lu(623) - lu(255) * lu(618)
         lu(634) = lu(634) - lu(256) * lu(618)
         lu(635) = lu(635) - lu(257) * lu(618)
         lu(636) = lu(636) - lu(258) * lu(618)
         lu(697) = lu(697) - lu(255) * lu(684)
         lu(709) = lu(709) - lu(256) * lu(684)
         lu(711) = lu(711) - lu(257) * lu(684)
         lu(712) = lu(712) - lu(258) * lu(684)
         lu(773) = lu(773) - lu(255) * lu(758)
         lu(785) = lu(785) - lu(256) * lu(758)
         lu(787) = lu(787) - lu(257) * lu(758)
         lu(788) = lu(788) - lu(258) * lu(758)
         lu(815) = - lu(255) * lu(806)
         lu(826) = lu(826) - lu(256) * lu(806)
         lu(828) = lu(828) - lu(257) * lu(806)
         lu(829) = lu(829) - lu(258) * lu(806)
         lu(861) = lu(861) - lu(255) * lu(849)
         lu(873) = lu(873) - lu(256) * lu(849)
         lu(875) = lu(875) - lu(257) * lu(849)
         lu(876) = lu(876) - lu(258) * lu(849)

         lu(260) = 1. / lu(260)
         lu(261) = lu(261) * lu(260)
         lu(262) = lu(262) * lu(260)
         lu(263) = lu(263) * lu(260)
         lu(264) = lu(264) * lu(260)
         lu(265) = lu(265) * lu(260)
         lu(266) = lu(266) * lu(260)
         lu(267) = lu(267) * lu(260)
         lu(268) = lu(268) * lu(260)
         lu(269) = lu(269) * lu(260)
         lu(270) = lu(270) * lu(260)
         lu(271) = lu(271) * lu(260)
         lu(272) = lu(272) * lu(260)
         lu(620) = lu(620) - lu(261) * lu(619)
         lu(625) = lu(625) - lu(262) * lu(619)
         lu(629) = lu(629) - lu(263) * lu(619)
         lu(630) = lu(630) - lu(264) * lu(619)
         lu(631) = lu(631) - lu(265) * lu(619)
         lu(632) = lu(632) - lu(266) * lu(619)
         lu(633) = lu(633) - lu(267) * lu(619)
         lu(634) = lu(634) - lu(268) * lu(619)
         lu(635) = lu(635) - lu(269) * lu(619)
         lu(636) = lu(636) - lu(270) * lu(619)
         lu(637) = lu(637) - lu(271) * lu(619)
         lu(641) = lu(641) - lu(272) * lu(619)
         lu(760) = lu(760) - lu(261) * lu(759)
         lu(775) = lu(775) - lu(262) * lu(759)
         lu(779) = lu(779) - lu(263) * lu(759)
         lu(780) = lu(780) - lu(264) * lu(759)
         lu(781) = lu(781) - lu(265) * lu(759)
         lu(782) = lu(782) - lu(266) * lu(759)
         lu(783) = lu(783) - lu(267) * lu(759)
         lu(785) = lu(785) - lu(268) * lu(759)
         lu(787) = lu(787) - lu(269) * lu(759)
         lu(788) = lu(788) - lu(270) * lu(759)
         lu(789) = lu(789) - lu(271) * lu(759)
         lu(793) = lu(793) - lu(272) * lu(759)
         lu(808) = lu(808) - lu(261) * lu(807)
         lu(817) = - lu(262) * lu(807)
         lu(820) = lu(820) - lu(263) * lu(807)
         lu(821) = lu(821) - lu(264) * lu(807)
         lu(822) = lu(822) - lu(265) * lu(807)
         lu(823) = lu(823) - lu(266) * lu(807)
         lu(824) = lu(824) - lu(267) * lu(807)
         lu(826) = lu(826) - lu(268) * lu(807)
         lu(828) = lu(828) - lu(269) * lu(807)
         lu(829) = lu(829) - lu(270) * lu(807)
         lu(830) = lu(830) - lu(271) * lu(807)
         lu(834) = lu(834) - lu(272) * lu(807)


      end subroutine imp_lu_fac06

      subroutine imp_lu_fac07( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(275) = 1. / lu(275)
         lu(276) = lu(276) * lu(275)
         lu(277) = lu(277) * lu(275)
         lu(278) = lu(278) * lu(275)
         lu(279) = lu(279) * lu(275)
         lu(280) = lu(280) * lu(275)
         lu(281) = lu(281) * lu(275)
         lu(282) = lu(282) * lu(275)
         lu(283) = lu(283) * lu(275)
         lu(284) = lu(284) * lu(275)
         lu(543) = - lu(276) * lu(541)
         lu(546) = lu(546) - lu(277) * lu(541)
         lu(551) = - lu(278) * lu(541)
         lu(552) = lu(552) - lu(279) * lu(541)
         lu(553) = lu(553) - lu(280) * lu(541)
         lu(554) = lu(554) - lu(281) * lu(541)
         lu(555) = - lu(282) * lu(541)
         lu(556) = lu(556) - lu(283) * lu(541)
         lu(557) = - lu(284) * lu(541)
         lu(622) = lu(622) - lu(276) * lu(620)
         lu(626) = lu(626) - lu(277) * lu(620)
         lu(634) = lu(634) - lu(278) * lu(620)
         lu(635) = lu(635) - lu(279) * lu(620)
         lu(636) = lu(636) - lu(280) * lu(620)
         lu(637) = lu(637) - lu(281) * lu(620)
         lu(638) = lu(638) - lu(282) * lu(620)
         lu(641) = lu(641) - lu(283) * lu(620)
         lu(642) = lu(642) - lu(284) * lu(620)
         lu(772) = lu(772) - lu(276) * lu(760)
         lu(776) = lu(776) - lu(277) * lu(760)
         lu(785) = lu(785) - lu(278) * lu(760)
         lu(787) = lu(787) - lu(279) * lu(760)
         lu(788) = lu(788) - lu(280) * lu(760)
         lu(789) = lu(789) - lu(281) * lu(760)
         lu(790) = lu(790) - lu(282) * lu(760)
         lu(793) = lu(793) - lu(283) * lu(760)
         lu(795) = lu(795) - lu(284) * lu(760)
         lu(814) = lu(814) - lu(276) * lu(808)
         lu(818) = lu(818) - lu(277) * lu(808)
         lu(826) = lu(826) - lu(278) * lu(808)
         lu(828) = lu(828) - lu(279) * lu(808)
         lu(829) = lu(829) - lu(280) * lu(808)
         lu(830) = lu(830) - lu(281) * lu(808)
         lu(831) = lu(831) - lu(282) * lu(808)
         lu(834) = lu(834) - lu(283) * lu(808)
         lu(836) = lu(836) - lu(284) * lu(808)

         lu(287) = 1. / lu(287)
         lu(288) = lu(288) * lu(287)
         lu(289) = lu(289) * lu(287)
         lu(290) = lu(290) * lu(287)
         lu(291) = lu(291) * lu(287)
         lu(292) = lu(292) * lu(287)
         lu(293) = lu(293) * lu(287)
         lu(294) = lu(294) * lu(287)
         lu(295) = lu(295) * lu(287)
         lu(296) = lu(296) * lu(287)
         lu(586) = lu(586) - lu(288) * lu(577)
         lu(587) = lu(587) - lu(289) * lu(577)
         lu(592) = lu(592) - lu(290) * lu(577)
         lu(593) = lu(593) - lu(291) * lu(577)
         lu(595) = lu(595) - lu(292) * lu(577)
         lu(596) = lu(596) - lu(293) * lu(577)
         lu(598) = lu(598) - lu(294) * lu(577)
         lu(599) = lu(599) - lu(295) * lu(577)
         lu(600) = lu(600) - lu(296) * lu(577)
         lu(700) = lu(700) - lu(288) * lu(685)
         lu(701) = lu(701) - lu(289) * lu(685)
         lu(706) = lu(706) - lu(290) * lu(685)
         lu(707) = lu(707) - lu(291) * lu(685)
         lu(711) = lu(711) - lu(292) * lu(685)
         lu(712) = lu(712) - lu(293) * lu(685)
         lu(714) = lu(714) - lu(294) * lu(685)
         lu(717) = lu(717) - lu(295) * lu(685)
         lu(719) = lu(719) - lu(296) * lu(685)
         lu(776) = lu(776) - lu(288) * lu(761)
         lu(777) = lu(777) - lu(289) * lu(761)
         lu(782) = lu(782) - lu(290) * lu(761)
         lu(783) = lu(783) - lu(291) * lu(761)
         lu(787) = lu(787) - lu(292) * lu(761)
         lu(788) = lu(788) - lu(293) * lu(761)
         lu(790) = lu(790) - lu(294) * lu(761)
         lu(793) = lu(793) - lu(295) * lu(761)
         lu(795) = lu(795) - lu(296) * lu(761)
         lu(864) = lu(864) - lu(288) * lu(850)
         lu(865) = lu(865) - lu(289) * lu(850)
         lu(870) = lu(870) - lu(290) * lu(850)
         lu(871) = lu(871) - lu(291) * lu(850)
         lu(875) = lu(875) - lu(292) * lu(850)
         lu(876) = lu(876) - lu(293) * lu(850)
         lu(878) = lu(878) - lu(294) * lu(850)
         lu(881) = lu(881) - lu(295) * lu(850)
         lu(883) = lu(883) - lu(296) * lu(850)

         lu(298) = 1. / lu(298)
         lu(299) = lu(299) * lu(298)
         lu(300) = lu(300) * lu(298)
         lu(301) = lu(301) * lu(298)
         lu(302) = lu(302) * lu(298)
         lu(303) = lu(303) * lu(298)
         lu(304) = lu(304) * lu(298)
         lu(305) = lu(305) * lu(298)
         lu(357) = lu(357) - lu(299) * lu(356)
         lu(358) = lu(358) - lu(300) * lu(356)
         lu(359) = - lu(301) * lu(356)
         lu(360) = lu(360) - lu(302) * lu(356)
         lu(361) = lu(361) - lu(303) * lu(356)
         lu(362) = lu(362) - lu(304) * lu(356)
         lu(363) = - lu(305) * lu(356)
         lu(647) = - lu(299) * lu(646)
         lu(649) = lu(649) - lu(300) * lu(646)
         lu(651) = lu(651) - lu(301) * lu(646)
         lu(653) = - lu(302) * lu(646)
         lu(656) = lu(656) - lu(303) * lu(646)
         lu(657) = - lu(304) * lu(646)
         lu(661) = lu(661) - lu(305) * lu(646)
         lu(691) = lu(691) - lu(299) * lu(686)
         lu(708) = lu(708) - lu(300) * lu(686)
         lu(710) = lu(710) - lu(301) * lu(686)
         lu(712) = lu(712) - lu(302) * lu(686)
         lu(715) = lu(715) - lu(303) * lu(686)
         lu(716) = lu(716) - lu(304) * lu(686)
         lu(720) = lu(720) - lu(305) * lu(686)
         lu(903) = lu(903) - lu(299) * lu(902)
         lu(905) = lu(905) - lu(300) * lu(902)
         lu(907) = - lu(301) * lu(902)
         lu(909) = lu(909) - lu(302) * lu(902)
         lu(912) = lu(912) - lu(303) * lu(902)
         lu(913) = lu(913) - lu(304) * lu(902)
         lu(917) = lu(917) - lu(305) * lu(902)
         lu(962) = lu(962) - lu(299) * lu(960)
         lu(968) = lu(968) - lu(300) * lu(960)
         lu(970) = lu(970) - lu(301) * lu(960)
         lu(972) = lu(972) - lu(302) * lu(960)
         lu(975) = lu(975) - lu(303) * lu(960)
         lu(976) = lu(976) - lu(304) * lu(960)
         lu(980) = lu(980) - lu(305) * lu(960)
         lu(984) = lu(984) - lu(299) * lu(983)
         lu(986) = lu(986) - lu(300) * lu(983)
         lu(988) = lu(988) - lu(301) * lu(983)
         lu(990) = lu(990) - lu(302) * lu(983)
         lu(993) = lu(993) - lu(303) * lu(983)
         lu(994) = lu(994) - lu(304) * lu(983)
         lu(998) = lu(998) - lu(305) * lu(983)

         lu(308) = 1. / lu(308)
         lu(309) = lu(309) * lu(308)
         lu(310) = lu(310) * lu(308)
         lu(311) = lu(311) * lu(308)
         lu(312) = lu(312) * lu(308)
         lu(313) = lu(313) * lu(308)
         lu(314) = lu(314) * lu(308)
         lu(315) = lu(315) * lu(308)
         lu(316) = lu(316) * lu(308)
         lu(317) = lu(317) * lu(308)
         lu(500) = - lu(309) * lu(499)
         lu(501) = - lu(310) * lu(499)
         lu(503) = lu(503) - lu(311) * lu(499)
         lu(507) = - lu(312) * lu(499)
         lu(509) = lu(509) - lu(313) * lu(499)
         lu(510) = lu(510) - lu(314) * lu(499)
         lu(512) = - lu(315) * lu(499)
         lu(513) = lu(513) - lu(316) * lu(499)
         lu(514) = - lu(317) * lu(499)
         lu(581) = lu(581) - lu(309) * lu(578)
         lu(583) = - lu(310) * lu(578)
         lu(585) = lu(585) - lu(311) * lu(578)
         lu(593) = lu(593) - lu(312) * lu(578)
         lu(595) = lu(595) - lu(313) * lu(578)
         lu(596) = lu(596) - lu(314) * lu(578)
         lu(598) = lu(598) - lu(315) * lu(578)
         lu(599) = lu(599) - lu(316) * lu(578)
         lu(600) = lu(600) - lu(317) * lu(578)
         lu(690) = lu(690) - lu(309) * lu(687)
         lu(695) = lu(695) - lu(310) * lu(687)
         lu(698) = lu(698) - lu(311) * lu(687)
         lu(707) = lu(707) - lu(312) * lu(687)
         lu(711) = lu(711) - lu(313) * lu(687)
         lu(712) = lu(712) - lu(314) * lu(687)
         lu(714) = lu(714) - lu(315) * lu(687)
         lu(717) = lu(717) - lu(316) * lu(687)
         lu(719) = lu(719) - lu(317) * lu(687)
         lu(766) = lu(766) - lu(309) * lu(762)
         lu(771) = lu(771) - lu(310) * lu(762)
         lu(774) = lu(774) - lu(311) * lu(762)
         lu(783) = lu(783) - lu(312) * lu(762)
         lu(787) = lu(787) - lu(313) * lu(762)
         lu(788) = lu(788) - lu(314) * lu(762)
         lu(790) = lu(790) - lu(315) * lu(762)
         lu(793) = lu(793) - lu(316) * lu(762)
         lu(795) = lu(795) - lu(317) * lu(762)
         lu(855) = lu(855) - lu(309) * lu(851)
         lu(859) = lu(859) - lu(310) * lu(851)
         lu(862) = lu(862) - lu(311) * lu(851)
         lu(871) = lu(871) - lu(312) * lu(851)
         lu(875) = lu(875) - lu(313) * lu(851)
         lu(876) = lu(876) - lu(314) * lu(851)
         lu(878) = lu(878) - lu(315) * lu(851)
         lu(881) = lu(881) - lu(316) * lu(851)
         lu(883) = lu(883) - lu(317) * lu(851)


      end subroutine imp_lu_fac07

      subroutine imp_lu_fac08( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(319) = 1. / lu(319)
         lu(320) = lu(320) * lu(319)
         lu(321) = lu(321) * lu(319)
         lu(322) = lu(322) * lu(319)
         lu(323) = lu(323) * lu(319)
         lu(324) = lu(324) * lu(319)
         lu(369) = lu(369) - lu(320) * lu(364)
         lu(372) = - lu(321) * lu(364)
         lu(373) = lu(373) - lu(322) * lu(364)
         lu(374) = lu(374) - lu(323) * lu(364)
         lu(376) = lu(376) - lu(324) * lu(364)
         lu(380) = - lu(320) * lu(378)
         lu(383) = lu(383) - lu(321) * lu(378)
         lu(384) = - lu(322) * lu(378)
         lu(385) = lu(385) - lu(323) * lu(378)
         lu(386) = lu(386) - lu(324) * lu(378)
         lu(396) = - lu(320) * lu(393)
         lu(400) = - lu(321) * lu(393)
         lu(401) = lu(401) - lu(322) * lu(393)
         lu(402) = lu(402) - lu(323) * lu(393)
         lu(404) = lu(404) - lu(324) * lu(393)
         lu(527) = lu(527) - lu(320) * lu(522)
         lu(534) = lu(534) - lu(321) * lu(522)
         lu(535) = lu(535) - lu(322) * lu(522)
         lu(536) = lu(536) - lu(323) * lu(522)
         lu(539) = lu(539) - lu(324) * lu(522)
         lu(584) = - lu(320) * lu(579)
         lu(594) = - lu(321) * lu(579)
         lu(595) = lu(595) - lu(322) * lu(579)
         lu(596) = lu(596) - lu(323) * lu(579)
         lu(599) = lu(599) - lu(324) * lu(579)
         lu(697) = lu(697) - lu(320) * lu(688)
         lu(709) = lu(709) - lu(321) * lu(688)
         lu(711) = lu(711) - lu(322) * lu(688)
         lu(712) = lu(712) - lu(323) * lu(688)
         lu(717) = lu(717) - lu(324) * lu(688)
         lu(773) = lu(773) - lu(320) * lu(763)
         lu(785) = lu(785) - lu(321) * lu(763)
         lu(787) = lu(787) - lu(322) * lu(763)
         lu(788) = lu(788) - lu(323) * lu(763)
         lu(793) = lu(793) - lu(324) * lu(763)
         lu(815) = lu(815) - lu(320) * lu(809)
         lu(826) = lu(826) - lu(321) * lu(809)
         lu(828) = lu(828) - lu(322) * lu(809)
         lu(829) = lu(829) - lu(323) * lu(809)
         lu(834) = lu(834) - lu(324) * lu(809)
         lu(861) = lu(861) - lu(320) * lu(852)
         lu(873) = lu(873) - lu(321) * lu(852)
         lu(875) = lu(875) - lu(322) * lu(852)
         lu(876) = lu(876) - lu(323) * lu(852)
         lu(881) = lu(881) - lu(324) * lu(852)

         lu(327) = 1. / lu(327)
         lu(328) = lu(328) * lu(327)
         lu(329) = lu(329) * lu(327)
         lu(330) = lu(330) * lu(327)
         lu(331) = lu(331) * lu(327)
         lu(332) = lu(332) * lu(327)
         lu(333) = lu(333) * lu(327)
         lu(334) = lu(334) * lu(327)
         lu(335) = lu(335) * lu(327)
         lu(336) = lu(336) * lu(327)
         lu(443) = lu(443) - lu(328) * lu(442)
         lu(444) = - lu(329) * lu(442)
         lu(445) = - lu(330) * lu(442)
         lu(453) = lu(453) - lu(331) * lu(442)
         lu(454) = lu(454) - lu(332) * lu(442)
         lu(455) = lu(455) - lu(333) * lu(442)
         lu(456) = - lu(334) * lu(442)
         lu(457) = lu(457) - lu(335) * lu(442)
         lu(459) = lu(459) - lu(336) * lu(442)
         lu(622) = lu(622) - lu(328) * lu(621)
         lu(623) = lu(623) - lu(329) * lu(621)
         lu(624) = lu(624) - lu(330) * lu(621)
         lu(634) = lu(634) - lu(331) * lu(621)
         lu(635) = lu(635) - lu(332) * lu(621)
         lu(636) = lu(636) - lu(333) * lu(621)
         lu(637) = lu(637) - lu(334) * lu(621)
         lu(638) = lu(638) - lu(335) * lu(621)
         lu(642) = lu(642) - lu(336) * lu(621)
         lu(772) = lu(772) - lu(328) * lu(764)
         lu(773) = lu(773) - lu(329) * lu(764)
         lu(774) = lu(774) - lu(330) * lu(764)
         lu(785) = lu(785) - lu(331) * lu(764)
         lu(787) = lu(787) - lu(332) * lu(764)
         lu(788) = lu(788) - lu(333) * lu(764)
         lu(789) = lu(789) - lu(334) * lu(764)
         lu(790) = lu(790) - lu(335) * lu(764)
         lu(795) = lu(795) - lu(336) * lu(764)
         lu(814) = lu(814) - lu(328) * lu(810)
         lu(815) = lu(815) - lu(329) * lu(810)
         lu(816) = lu(816) - lu(330) * lu(810)
         lu(826) = lu(826) - lu(331) * lu(810)
         lu(828) = lu(828) - lu(332) * lu(810)
         lu(829) = lu(829) - lu(333) * lu(810)
         lu(830) = lu(830) - lu(334) * lu(810)
         lu(831) = lu(831) - lu(335) * lu(810)
         lu(836) = lu(836) - lu(336) * lu(810)
         lu(860) = lu(860) - lu(328) * lu(853)
         lu(861) = lu(861) - lu(329) * lu(853)
         lu(862) = lu(862) - lu(330) * lu(853)
         lu(873) = lu(873) - lu(331) * lu(853)
         lu(875) = lu(875) - lu(332) * lu(853)
         lu(876) = lu(876) - lu(333) * lu(853)
         lu(877) = lu(877) - lu(334) * lu(853)
         lu(878) = lu(878) - lu(335) * lu(853)
         lu(883) = lu(883) - lu(336) * lu(853)

         lu(338) = 1. / lu(338)
         lu(339) = lu(339) * lu(338)
         lu(340) = lu(340) * lu(338)
         lu(341) = lu(341) * lu(338)
         lu(342) = lu(342) * lu(338)
         lu(343) = lu(343) * lu(338)
         lu(344) = lu(344) * lu(338)
         lu(345) = lu(345) * lu(338)
         lu(346) = lu(346) * lu(338)
         lu(347) = lu(347) * lu(338)
         lu(485) = lu(485) - lu(339) * lu(484)
         lu(486) = - lu(340) * lu(484)
         lu(488) = - lu(341) * lu(484)
         lu(491) = lu(491) - lu(342) * lu(484)
         lu(493) = lu(493) - lu(343) * lu(484)
         lu(494) = lu(494) - lu(344) * lu(484)
         lu(496) = lu(496) - lu(345) * lu(484)
         lu(497) = lu(497) - lu(346) * lu(484)
         lu(498) = lu(498) - lu(347) * lu(484)
         lu(581) = lu(581) - lu(339) * lu(580)
         lu(584) = lu(584) - lu(340) * lu(580)
         lu(586) = lu(586) - lu(341) * lu(580)
         lu(593) = lu(593) - lu(342) * lu(580)
         lu(595) = lu(595) - lu(343) * lu(580)
         lu(596) = lu(596) - lu(344) * lu(580)
         lu(598) = lu(598) - lu(345) * lu(580)
         lu(599) = lu(599) - lu(346) * lu(580)
         lu(600) = lu(600) - lu(347) * lu(580)
         lu(690) = lu(690) - lu(339) * lu(689)
         lu(697) = lu(697) - lu(340) * lu(689)
         lu(700) = lu(700) - lu(341) * lu(689)
         lu(707) = lu(707) - lu(342) * lu(689)
         lu(711) = lu(711) - lu(343) * lu(689)
         lu(712) = lu(712) - lu(344) * lu(689)
         lu(714) = lu(714) - lu(345) * lu(689)
         lu(717) = lu(717) - lu(346) * lu(689)
         lu(719) = lu(719) - lu(347) * lu(689)
         lu(766) = lu(766) - lu(339) * lu(765)
         lu(773) = lu(773) - lu(340) * lu(765)
         lu(776) = lu(776) - lu(341) * lu(765)
         lu(783) = lu(783) - lu(342) * lu(765)
         lu(787) = lu(787) - lu(343) * lu(765)
         lu(788) = lu(788) - lu(344) * lu(765)
         lu(790) = lu(790) - lu(345) * lu(765)
         lu(793) = lu(793) - lu(346) * lu(765)
         lu(795) = lu(795) - lu(347) * lu(765)
         lu(855) = lu(855) - lu(339) * lu(854)
         lu(861) = lu(861) - lu(340) * lu(854)
         lu(864) = lu(864) - lu(341) * lu(854)
         lu(871) = lu(871) - lu(342) * lu(854)
         lu(875) = lu(875) - lu(343) * lu(854)
         lu(876) = lu(876) - lu(344) * lu(854)
         lu(878) = lu(878) - lu(345) * lu(854)
         lu(881) = lu(881) - lu(346) * lu(854)
         lu(883) = lu(883) - lu(347) * lu(854)

         lu(348) = 1. / lu(348)
         lu(349) = lu(349) * lu(348)
         lu(350) = lu(350) * lu(348)
         lu(351) = lu(351) * lu(348)
         lu(352) = lu(352) * lu(348)
         lu(353) = lu(353) * lu(348)
         lu(370) = - lu(349) * lu(365)
         lu(371) = - lu(350) * lu(365)
         lu(373) = lu(373) - lu(351) * lu(365)
         lu(374) = lu(374) - lu(352) * lu(365)
         lu(376) = lu(376) - lu(353) * lu(365)
         lu(409) = lu(409) - lu(349) * lu(407)
         lu(410) = - lu(350) * lu(407)
         lu(412) = lu(412) - lu(351) * lu(407)
         lu(413) = lu(413) - lu(352) * lu(407)
         lu(415) = lu(415) - lu(353) * lu(407)
         lu(487) = - lu(349) * lu(485)
         lu(490) = lu(490) - lu(350) * lu(485)
         lu(493) = lu(493) - lu(351) * lu(485)
         lu(494) = lu(494) - lu(352) * lu(485)
         lu(497) = lu(497) - lu(353) * lu(485)
         lu(503) = lu(503) - lu(349) * lu(500)
         lu(506) = lu(506) - lu(350) * lu(500)
         lu(509) = lu(509) - lu(351) * lu(500)
         lu(510) = lu(510) - lu(352) * lu(500)
         lu(513) = lu(513) - lu(353) * lu(500)
         lu(528) = lu(528) - lu(349) * lu(523)
         lu(532) = - lu(350) * lu(523)
         lu(535) = lu(535) - lu(351) * lu(523)
         lu(536) = lu(536) - lu(352) * lu(523)
         lu(539) = lu(539) - lu(353) * lu(523)
         lu(585) = lu(585) - lu(349) * lu(581)
         lu(592) = lu(592) - lu(350) * lu(581)
         lu(595) = lu(595) - lu(351) * lu(581)
         lu(596) = lu(596) - lu(352) * lu(581)
         lu(599) = lu(599) - lu(353) * lu(581)
         lu(698) = lu(698) - lu(349) * lu(690)
         lu(706) = lu(706) - lu(350) * lu(690)
         lu(711) = lu(711) - lu(351) * lu(690)
         lu(712) = lu(712) - lu(352) * lu(690)
         lu(717) = lu(717) - lu(353) * lu(690)
         lu(774) = lu(774) - lu(349) * lu(766)
         lu(782) = lu(782) - lu(350) * lu(766)
         lu(787) = lu(787) - lu(351) * lu(766)
         lu(788) = lu(788) - lu(352) * lu(766)
         lu(793) = lu(793) - lu(353) * lu(766)
         lu(862) = lu(862) - lu(349) * lu(855)
         lu(870) = lu(870) - lu(350) * lu(855)
         lu(875) = lu(875) - lu(351) * lu(855)
         lu(876) = lu(876) - lu(352) * lu(855)
         lu(881) = lu(881) - lu(353) * lu(855)
         lu(964) = - lu(349) * lu(961)
         lu(966) = lu(966) - lu(350) * lu(961)
         lu(971) = lu(971) - lu(351) * lu(961)
         lu(972) = lu(972) - lu(352) * lu(961)
         lu(977) = - lu(353) * lu(961)


      end subroutine imp_lu_fac08

      subroutine imp_lu_fac09( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(357) = 1. / lu(357)
         lu(358) = lu(358) * lu(357)
         lu(359) = lu(359) * lu(357)
         lu(360) = lu(360) * lu(357)
         lu(361) = lu(361) * lu(357)
         lu(362) = lu(362) * lu(357)
         lu(363) = lu(363) * lu(357)
         lu(602) = lu(602) - lu(358) * lu(601)
         lu(603) = lu(603) - lu(359) * lu(601)
         lu(605) = - lu(360) * lu(601)
         lu(607) = - lu(361) * lu(601)
         lu(608) = - lu(362) * lu(601)
         lu(610) = - lu(363) * lu(601)
         lu(649) = lu(649) - lu(358) * lu(647)
         lu(651) = lu(651) - lu(359) * lu(647)
         lu(653) = lu(653) - lu(360) * lu(647)
         lu(656) = lu(656) - lu(361) * lu(647)
         lu(657) = lu(657) - lu(362) * lu(647)
         lu(661) = lu(661) - lu(363) * lu(647)
         lu(708) = lu(708) - lu(358) * lu(691)
         lu(710) = lu(710) - lu(359) * lu(691)
         lu(712) = lu(712) - lu(360) * lu(691)
         lu(715) = lu(715) - lu(361) * lu(691)
         lu(716) = lu(716) - lu(362) * lu(691)
         lu(720) = lu(720) - lu(363) * lu(691)
         lu(784) = lu(784) - lu(358) * lu(767)
         lu(786) = - lu(359) * lu(767)
         lu(788) = lu(788) - lu(360) * lu(767)
         lu(791) = lu(791) - lu(361) * lu(767)
         lu(792) = lu(792) - lu(362) * lu(767)
         lu(796) = lu(796) - lu(363) * lu(767)
         lu(905) = lu(905) - lu(358) * lu(903)
         lu(907) = lu(907) - lu(359) * lu(903)
         lu(909) = lu(909) - lu(360) * lu(903)
         lu(912) = lu(912) - lu(361) * lu(903)
         lu(913) = lu(913) - lu(362) * lu(903)
         lu(917) = lu(917) - lu(363) * lu(903)
         lu(921) = lu(921) - lu(358) * lu(919)
         lu(923) = - lu(359) * lu(919)
         lu(925) = lu(925) - lu(360) * lu(919)
         lu(928) = lu(928) - lu(361) * lu(919)
         lu(929) = lu(929) - lu(362) * lu(919)
         lu(933) = - lu(363) * lu(919)
         lu(940) = lu(940) - lu(358) * lu(938)
         lu(942) = lu(942) - lu(359) * lu(938)
         lu(944) = lu(944) - lu(360) * lu(938)
         lu(947) = lu(947) - lu(361) * lu(938)
         lu(948) = lu(948) - lu(362) * lu(938)
         lu(952) = lu(952) - lu(363) * lu(938)
         lu(968) = lu(968) - lu(358) * lu(962)
         lu(970) = lu(970) - lu(359) * lu(962)
         lu(972) = lu(972) - lu(360) * lu(962)
         lu(975) = lu(975) - lu(361) * lu(962)
         lu(976) = lu(976) - lu(362) * lu(962)
         lu(980) = lu(980) - lu(363) * lu(962)
         lu(986) = lu(986) - lu(358) * lu(984)
         lu(988) = lu(988) - lu(359) * lu(984)
         lu(990) = lu(990) - lu(360) * lu(984)
         lu(993) = lu(993) - lu(361) * lu(984)
         lu(994) = lu(994) - lu(362) * lu(984)
         lu(998) = lu(998) - lu(363) * lu(984)

         lu(366) = 1. / lu(366)
         lu(367) = lu(367) * lu(366)
         lu(368) = lu(368) * lu(366)
         lu(369) = lu(369) * lu(366)
         lu(370) = lu(370) * lu(366)
         lu(371) = lu(371) * lu(366)
         lu(372) = lu(372) * lu(366)
         lu(373) = lu(373) * lu(366)
         lu(374) = lu(374) * lu(366)
         lu(375) = lu(375) * lu(366)
         lu(376) = lu(376) * lu(366)
         lu(377) = lu(377) * lu(366)
         lu(525) = lu(525) - lu(367) * lu(524)
         lu(526) = lu(526) - lu(368) * lu(524)
         lu(527) = lu(527) - lu(369) * lu(524)
         lu(528) = lu(528) - lu(370) * lu(524)
         lu(532) = lu(532) - lu(371) * lu(524)
         lu(534) = lu(534) - lu(372) * lu(524)
         lu(535) = lu(535) - lu(373) * lu(524)
         lu(536) = lu(536) - lu(374) * lu(524)
         lu(538) = lu(538) - lu(375) * lu(524)
         lu(539) = lu(539) - lu(376) * lu(524)
         lu(540) = lu(540) - lu(377) * lu(524)
         lu(693) = lu(693) - lu(367) * lu(692)
         lu(695) = lu(695) - lu(368) * lu(692)
         lu(697) = lu(697) - lu(369) * lu(692)
         lu(698) = lu(698) - lu(370) * lu(692)
         lu(706) = lu(706) - lu(371) * lu(692)
         lu(709) = lu(709) - lu(372) * lu(692)
         lu(711) = lu(711) - lu(373) * lu(692)
         lu(712) = lu(712) - lu(374) * lu(692)
         lu(714) = lu(714) - lu(375) * lu(692)
         lu(717) = lu(717) - lu(376) * lu(692)
         lu(719) = lu(719) - lu(377) * lu(692)
         lu(769) = lu(769) - lu(367) * lu(768)
         lu(771) = lu(771) - lu(368) * lu(768)
         lu(773) = lu(773) - lu(369) * lu(768)
         lu(774) = lu(774) - lu(370) * lu(768)
         lu(782) = lu(782) - lu(371) * lu(768)
         lu(785) = lu(785) - lu(372) * lu(768)
         lu(787) = lu(787) - lu(373) * lu(768)
         lu(788) = lu(788) - lu(374) * lu(768)
         lu(790) = lu(790) - lu(375) * lu(768)
         lu(793) = lu(793) - lu(376) * lu(768)
         lu(795) = lu(795) - lu(377) * lu(768)
         lu(812) = lu(812) - lu(367) * lu(811)
         lu(813) = lu(813) - lu(368) * lu(811)
         lu(815) = lu(815) - lu(369) * lu(811)
         lu(816) = lu(816) - lu(370) * lu(811)
         lu(823) = lu(823) - lu(371) * lu(811)
         lu(826) = lu(826) - lu(372) * lu(811)
         lu(828) = lu(828) - lu(373) * lu(811)
         lu(829) = lu(829) - lu(374) * lu(811)
         lu(831) = lu(831) - lu(375) * lu(811)
         lu(834) = lu(834) - lu(376) * lu(811)
         lu(836) = lu(836) - lu(377) * lu(811)
         lu(857) = lu(857) - lu(367) * lu(856)
         lu(859) = lu(859) - lu(368) * lu(856)
         lu(861) = lu(861) - lu(369) * lu(856)
         lu(862) = lu(862) - lu(370) * lu(856)
         lu(870) = lu(870) - lu(371) * lu(856)
         lu(873) = lu(873) - lu(372) * lu(856)
         lu(875) = lu(875) - lu(373) * lu(856)
         lu(876) = lu(876) - lu(374) * lu(856)
         lu(878) = lu(878) - lu(375) * lu(856)
         lu(881) = lu(881) - lu(376) * lu(856)
         lu(883) = lu(883) - lu(377) * lu(856)

         lu(379) = 1. / lu(379)
         lu(380) = lu(380) * lu(379)
         lu(381) = lu(381) * lu(379)
         lu(382) = lu(382) * lu(379)
         lu(383) = lu(383) * lu(379)
         lu(384) = lu(384) * lu(379)
         lu(385) = lu(385) * lu(379)
         lu(386) = lu(386) * lu(379)
         lu(387) = lu(387) * lu(379)
         lu(396) = lu(396) - lu(380) * lu(394)
         lu(397) = lu(397) - lu(381) * lu(394)
         lu(398) = lu(398) - lu(382) * lu(394)
         lu(400) = lu(400) - lu(383) * lu(394)
         lu(401) = lu(401) - lu(384) * lu(394)
         lu(402) = lu(402) - lu(385) * lu(394)
         lu(404) = lu(404) - lu(386) * lu(394)
         lu(405) = lu(405) - lu(387) * lu(394)
         lu(527) = lu(527) - lu(380) * lu(525)
         lu(528) = lu(528) - lu(381) * lu(525)
         lu(532) = lu(532) - lu(382) * lu(525)
         lu(534) = lu(534) - lu(383) * lu(525)
         lu(535) = lu(535) - lu(384) * lu(525)
         lu(536) = lu(536) - lu(385) * lu(525)
         lu(539) = lu(539) - lu(386) * lu(525)
         lu(540) = lu(540) - lu(387) * lu(525)
         lu(697) = lu(697) - lu(380) * lu(693)
         lu(698) = lu(698) - lu(381) * lu(693)
         lu(706) = lu(706) - lu(382) * lu(693)
         lu(709) = lu(709) - lu(383) * lu(693)
         lu(711) = lu(711) - lu(384) * lu(693)
         lu(712) = lu(712) - lu(385) * lu(693)
         lu(717) = lu(717) - lu(386) * lu(693)
         lu(719) = lu(719) - lu(387) * lu(693)
         lu(773) = lu(773) - lu(380) * lu(769)
         lu(774) = lu(774) - lu(381) * lu(769)
         lu(782) = lu(782) - lu(382) * lu(769)
         lu(785) = lu(785) - lu(383) * lu(769)
         lu(787) = lu(787) - lu(384) * lu(769)
         lu(788) = lu(788) - lu(385) * lu(769)
         lu(793) = lu(793) - lu(386) * lu(769)
         lu(795) = lu(795) - lu(387) * lu(769)
         lu(815) = lu(815) - lu(380) * lu(812)
         lu(816) = lu(816) - lu(381) * lu(812)
         lu(823) = lu(823) - lu(382) * lu(812)
         lu(826) = lu(826) - lu(383) * lu(812)
         lu(828) = lu(828) - lu(384) * lu(812)
         lu(829) = lu(829) - lu(385) * lu(812)
         lu(834) = lu(834) - lu(386) * lu(812)
         lu(836) = lu(836) - lu(387) * lu(812)
         lu(861) = lu(861) - lu(380) * lu(857)
         lu(862) = lu(862) - lu(381) * lu(857)
         lu(870) = lu(870) - lu(382) * lu(857)
         lu(873) = lu(873) - lu(383) * lu(857)
         lu(875) = lu(875) - lu(384) * lu(857)
         lu(876) = lu(876) - lu(385) * lu(857)
         lu(881) = lu(881) - lu(386) * lu(857)
         lu(883) = lu(883) - lu(387) * lu(857)

         lu(395) = 1. / lu(395)
         lu(396) = lu(396) * lu(395)
         lu(397) = lu(397) * lu(395)
         lu(398) = lu(398) * lu(395)
         lu(399) = lu(399) * lu(395)
         lu(400) = lu(400) * lu(395)
         lu(401) = lu(401) * lu(395)
         lu(402) = lu(402) * lu(395)
         lu(403) = lu(403) * lu(395)
         lu(404) = lu(404) * lu(395)
         lu(405) = lu(405) * lu(395)
         lu(544) = - lu(396) * lu(542)
         lu(545) = lu(545) - lu(397) * lu(542)
         lu(549) = lu(549) - lu(398) * lu(542)
         lu(550) = lu(550) - lu(399) * lu(542)
         lu(551) = lu(551) - lu(400) * lu(542)
         lu(552) = lu(552) - lu(401) * lu(542)
         lu(553) = lu(553) - lu(402) * lu(542)
         lu(555) = lu(555) - lu(403) * lu(542)
         lu(556) = lu(556) - lu(404) * lu(542)
         lu(557) = lu(557) - lu(405) * lu(542)
         lu(584) = lu(584) - lu(396) * lu(582)
         lu(585) = lu(585) - lu(397) * lu(582)
         lu(592) = lu(592) - lu(398) * lu(582)
         lu(593) = lu(593) - lu(399) * lu(582)
         lu(594) = lu(594) - lu(400) * lu(582)
         lu(595) = lu(595) - lu(401) * lu(582)
         lu(596) = lu(596) - lu(402) * lu(582)
         lu(598) = lu(598) - lu(403) * lu(582)
         lu(599) = lu(599) - lu(404) * lu(582)
         lu(600) = lu(600) - lu(405) * lu(582)
         lu(697) = lu(697) - lu(396) * lu(694)
         lu(698) = lu(698) - lu(397) * lu(694)
         lu(706) = lu(706) - lu(398) * lu(694)
         lu(707) = lu(707) - lu(399) * lu(694)
         lu(709) = lu(709) - lu(400) * lu(694)
         lu(711) = lu(711) - lu(401) * lu(694)
         lu(712) = lu(712) - lu(402) * lu(694)
         lu(714) = lu(714) - lu(403) * lu(694)
         lu(717) = lu(717) - lu(404) * lu(694)
         lu(719) = lu(719) - lu(405) * lu(694)
         lu(773) = lu(773) - lu(396) * lu(770)
         lu(774) = lu(774) - lu(397) * lu(770)
         lu(782) = lu(782) - lu(398) * lu(770)
         lu(783) = lu(783) - lu(399) * lu(770)
         lu(785) = lu(785) - lu(400) * lu(770)
         lu(787) = lu(787) - lu(401) * lu(770)
         lu(788) = lu(788) - lu(402) * lu(770)
         lu(790) = lu(790) - lu(403) * lu(770)
         lu(793) = lu(793) - lu(404) * lu(770)
         lu(795) = lu(795) - lu(405) * lu(770)
         lu(861) = lu(861) - lu(396) * lu(858)
         lu(862) = lu(862) - lu(397) * lu(858)
         lu(870) = lu(870) - lu(398) * lu(858)
         lu(871) = lu(871) - lu(399) * lu(858)
         lu(873) = lu(873) - lu(400) * lu(858)
         lu(875) = lu(875) - lu(401) * lu(858)
         lu(876) = lu(876) - lu(402) * lu(858)
         lu(878) = lu(878) - lu(403) * lu(858)
         lu(881) = lu(881) - lu(404) * lu(858)
         lu(883) = lu(883) - lu(405) * lu(858)

         lu(408) = 1. / lu(408)
         lu(409) = lu(409) * lu(408)
         lu(410) = lu(410) * lu(408)
         lu(411) = lu(411) * lu(408)
         lu(412) = lu(412) * lu(408)
         lu(413) = lu(413) * lu(408)
         lu(414) = lu(414) * lu(408)
         lu(415) = lu(415) * lu(408)
         lu(416) = lu(416) * lu(408)
         lu(503) = lu(503) - lu(409) * lu(501)
         lu(506) = lu(506) - lu(410) * lu(501)
         lu(508) = lu(508) - lu(411) * lu(501)
         lu(509) = lu(509) - lu(412) * lu(501)
         lu(510) = lu(510) - lu(413) * lu(501)
         lu(512) = lu(512) - lu(414) * lu(501)
         lu(513) = lu(513) - lu(415) * lu(501)
         lu(514) = lu(514) - lu(416) * lu(501)
         lu(528) = lu(528) - lu(409) * lu(526)
         lu(532) = lu(532) - lu(410) * lu(526)
         lu(534) = lu(534) - lu(411) * lu(526)
         lu(535) = lu(535) - lu(412) * lu(526)
         lu(536) = lu(536) - lu(413) * lu(526)
         lu(538) = lu(538) - lu(414) * lu(526)
         lu(539) = lu(539) - lu(415) * lu(526)
         lu(540) = lu(540) - lu(416) * lu(526)
         lu(585) = lu(585) - lu(409) * lu(583)
         lu(592) = lu(592) - lu(410) * lu(583)
         lu(594) = lu(594) - lu(411) * lu(583)
         lu(595) = lu(595) - lu(412) * lu(583)
         lu(596) = lu(596) - lu(413) * lu(583)
         lu(598) = lu(598) - lu(414) * lu(583)
         lu(599) = lu(599) - lu(415) * lu(583)
         lu(600) = lu(600) - lu(416) * lu(583)
         lu(698) = lu(698) - lu(409) * lu(695)
         lu(706) = lu(706) - lu(410) * lu(695)
         lu(709) = lu(709) - lu(411) * lu(695)
         lu(711) = lu(711) - lu(412) * lu(695)
         lu(712) = lu(712) - lu(413) * lu(695)
         lu(714) = lu(714) - lu(414) * lu(695)
         lu(717) = lu(717) - lu(415) * lu(695)
         lu(719) = lu(719) - lu(416) * lu(695)
         lu(774) = lu(774) - lu(409) * lu(771)
         lu(782) = lu(782) - lu(410) * lu(771)
         lu(785) = lu(785) - lu(411) * lu(771)
         lu(787) = lu(787) - lu(412) * lu(771)
         lu(788) = lu(788) - lu(413) * lu(771)
         lu(790) = lu(790) - lu(414) * lu(771)
         lu(793) = lu(793) - lu(415) * lu(771)
         lu(795) = lu(795) - lu(416) * lu(771)
         lu(816) = lu(816) - lu(409) * lu(813)
         lu(823) = lu(823) - lu(410) * lu(813)
         lu(826) = lu(826) - lu(411) * lu(813)
         lu(828) = lu(828) - lu(412) * lu(813)
         lu(829) = lu(829) - lu(413) * lu(813)
         lu(831) = lu(831) - lu(414) * lu(813)
         lu(834) = lu(834) - lu(415) * lu(813)
         lu(836) = lu(836) - lu(416) * lu(813)
         lu(862) = lu(862) - lu(409) * lu(859)
         lu(870) = lu(870) - lu(410) * lu(859)
         lu(873) = lu(873) - lu(411) * lu(859)
         lu(875) = lu(875) - lu(412) * lu(859)
         lu(876) = lu(876) - lu(413) * lu(859)
         lu(878) = lu(878) - lu(414) * lu(859)
         lu(881) = lu(881) - lu(415) * lu(859)
         lu(883) = lu(883) - lu(416) * lu(859)


      end subroutine imp_lu_fac09

      subroutine imp_lu_fac10( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(421) = 1. / lu(421)
         lu(422) = lu(422) * lu(421)
         lu(423) = lu(423) * lu(421)
         lu(424) = lu(424) * lu(421)
         lu(425) = lu(425) * lu(421)
         lu(426) = lu(426) * lu(421)
         lu(427) = lu(427) * lu(421)
         lu(428) = lu(428) * lu(421)
         lu(447) = - lu(422) * lu(443)
         lu(448) = - lu(423) * lu(443)
         lu(451) = - lu(424) * lu(443)
         lu(452) = - lu(425) * lu(443)
         lu(454) = lu(454) - lu(426) * lu(443)
         lu(455) = lu(455) - lu(427) * lu(443)
         lu(459) = lu(459) - lu(428) * lu(443)
         lu(472) = - lu(422) * lu(470)
         lu(473) = lu(473) - lu(423) * lu(470)
         lu(474) = lu(474) - lu(424) * lu(470)
         lu(475) = - lu(425) * lu(470)
         lu(477) = lu(477) - lu(426) * lu(470)
         lu(478) = lu(478) - lu(427) * lu(470)
         lu(481) = lu(481) - lu(428) * lu(470)
         lu(546) = lu(546) - lu(422) * lu(543)
         lu(547) = - lu(423) * lu(543)
         lu(549) = lu(549) - lu(424) * lu(543)
         lu(550) = lu(550) - lu(425) * lu(543)
         lu(552) = lu(552) - lu(426) * lu(543)
         lu(553) = lu(553) - lu(427) * lu(543)
         lu(557) = lu(557) - lu(428) * lu(543)
         lu(626) = lu(626) - lu(422) * lu(622)
         lu(627) = lu(627) - lu(423) * lu(622)
         lu(632) = lu(632) - lu(424) * lu(622)
         lu(633) = lu(633) - lu(425) * lu(622)
         lu(635) = lu(635) - lu(426) * lu(622)
         lu(636) = lu(636) - lu(427) * lu(622)
         lu(642) = lu(642) - lu(428) * lu(622)
         lu(700) = lu(700) - lu(422) * lu(696)
         lu(701) = lu(701) - lu(423) * lu(696)
         lu(706) = lu(706) - lu(424) * lu(696)
         lu(707) = lu(707) - lu(425) * lu(696)
         lu(711) = lu(711) - lu(426) * lu(696)
         lu(712) = lu(712) - lu(427) * lu(696)
         lu(719) = lu(719) - lu(428) * lu(696)
         lu(776) = lu(776) - lu(422) * lu(772)
         lu(777) = lu(777) - lu(423) * lu(772)
         lu(782) = lu(782) - lu(424) * lu(772)
         lu(783) = lu(783) - lu(425) * lu(772)
         lu(787) = lu(787) - lu(426) * lu(772)
         lu(788) = lu(788) - lu(427) * lu(772)
         lu(795) = lu(795) - lu(428) * lu(772)
         lu(818) = lu(818) - lu(422) * lu(814)
         lu(819) = lu(819) - lu(423) * lu(814)
         lu(823) = lu(823) - lu(424) * lu(814)
         lu(824) = lu(824) - lu(425) * lu(814)
         lu(828) = lu(828) - lu(426) * lu(814)
         lu(829) = lu(829) - lu(427) * lu(814)
         lu(836) = lu(836) - lu(428) * lu(814)
         lu(864) = lu(864) - lu(422) * lu(860)
         lu(865) = lu(865) - lu(423) * lu(860)
         lu(870) = lu(870) - lu(424) * lu(860)
         lu(871) = lu(871) - lu(425) * lu(860)
         lu(875) = lu(875) - lu(426) * lu(860)
         lu(876) = lu(876) - lu(427) * lu(860)
         lu(883) = lu(883) - lu(428) * lu(860)

         lu(429) = 1. / lu(429)
         lu(430) = lu(430) * lu(429)
         lu(431) = lu(431) * lu(429)
         lu(432) = lu(432) * lu(429)
         lu(436) = lu(436) - lu(430) * lu(433)
         lu(438) = lu(438) - lu(431) * lu(433)
         lu(439) = - lu(432) * lu(433)
         lu(453) = lu(453) - lu(430) * lu(444)
         lu(455) = lu(455) - lu(431) * lu(444)
         lu(459) = lu(459) - lu(432) * lu(444)
         lu(464) = lu(464) - lu(430) * lu(460)
         lu(466) = lu(466) - lu(431) * lu(460)
         lu(468) = - lu(432) * lu(460)
         lu(492) = - lu(430) * lu(486)
         lu(494) = lu(494) - lu(431) * lu(486)
         lu(498) = lu(498) - lu(432) * lu(486)
         lu(508) = lu(508) - lu(430) * lu(502)
         lu(510) = lu(510) - lu(431) * lu(502)
         lu(514) = lu(514) - lu(432) * lu(502)
         lu(534) = lu(534) - lu(430) * lu(527)
         lu(536) = lu(536) - lu(431) * lu(527)
         lu(540) = lu(540) - lu(432) * lu(527)
         lu(551) = lu(551) - lu(430) * lu(544)
         lu(553) = lu(553) - lu(431) * lu(544)
         lu(557) = lu(557) - lu(432) * lu(544)
         lu(594) = lu(594) - lu(430) * lu(584)
         lu(596) = lu(596) - lu(431) * lu(584)
         lu(600) = lu(600) - lu(432) * lu(584)
         lu(634) = lu(634) - lu(430) * lu(623)
         lu(636) = lu(636) - lu(431) * lu(623)
         lu(642) = lu(642) - lu(432) * lu(623)
         lu(650) = lu(650) - lu(430) * lu(648)
         lu(653) = lu(653) - lu(431) * lu(648)
         lu(660) = lu(660) - lu(432) * lu(648)
         lu(709) = lu(709) - lu(430) * lu(697)
         lu(712) = lu(712) - lu(431) * lu(697)
         lu(719) = lu(719) - lu(432) * lu(697)
         lu(785) = lu(785) - lu(430) * lu(773)
         lu(788) = lu(788) - lu(431) * lu(773)
         lu(795) = lu(795) - lu(432) * lu(773)
         lu(826) = lu(826) - lu(430) * lu(815)
         lu(829) = lu(829) - lu(431) * lu(815)
         lu(836) = lu(836) - lu(432) * lu(815)
         lu(873) = lu(873) - lu(430) * lu(861)
         lu(876) = lu(876) - lu(431) * lu(861)
         lu(883) = lu(883) - lu(432) * lu(861)
         lu(906) = lu(906) - lu(430) * lu(904)
         lu(909) = lu(909) - lu(431) * lu(904)
         lu(916) = lu(916) - lu(432) * lu(904)
         lu(922) = lu(922) - lu(430) * lu(920)
         lu(925) = lu(925) - lu(431) * lu(920)
         lu(932) = - lu(432) * lu(920)
         lu(941) = lu(941) - lu(430) * lu(939)
         lu(944) = lu(944) - lu(431) * lu(939)
         lu(951) = lu(951) - lu(432) * lu(939)
         lu(969) = lu(969) - lu(430) * lu(963)
         lu(972) = lu(972) - lu(431) * lu(963)
         lu(979) = lu(979) - lu(432) * lu(963)
         lu(987) = lu(987) - lu(430) * lu(985)
         lu(990) = lu(990) - lu(431) * lu(985)
         lu(997) = lu(997) - lu(432) * lu(985)

         lu(434) = 1. / lu(434)
         lu(435) = lu(435) * lu(434)
         lu(436) = lu(436) * lu(434)
         lu(437) = lu(437) * lu(434)
         lu(438) = lu(438) * lu(434)
         lu(439) = lu(439) * lu(434)
         lu(451) = lu(451) - lu(435) * lu(445)
         lu(453) = lu(453) - lu(436) * lu(445)
         lu(454) = lu(454) - lu(437) * lu(445)
         lu(455) = lu(455) - lu(438) * lu(445)
         lu(459) = lu(459) - lu(439) * lu(445)
         lu(474) = lu(474) - lu(435) * lu(471)
         lu(476) = - lu(436) * lu(471)
         lu(477) = lu(477) - lu(437) * lu(471)
         lu(478) = lu(478) - lu(438) * lu(471)
         lu(481) = lu(481) - lu(439) * lu(471)
         lu(490) = lu(490) - lu(435) * lu(487)
         lu(492) = lu(492) - lu(436) * lu(487)
         lu(493) = lu(493) - lu(437) * lu(487)
         lu(494) = lu(494) - lu(438) * lu(487)
         lu(498) = lu(498) - lu(439) * lu(487)
         lu(506) = lu(506) - lu(435) * lu(503)
         lu(508) = lu(508) - lu(436) * lu(503)
         lu(509) = lu(509) - lu(437) * lu(503)
         lu(510) = lu(510) - lu(438) * lu(503)
         lu(514) = lu(514) - lu(439) * lu(503)
         lu(532) = lu(532) - lu(435) * lu(528)
         lu(534) = lu(534) - lu(436) * lu(528)
         lu(535) = lu(535) - lu(437) * lu(528)
         lu(536) = lu(536) - lu(438) * lu(528)
         lu(540) = lu(540) - lu(439) * lu(528)
         lu(549) = lu(549) - lu(435) * lu(545)
         lu(551) = lu(551) - lu(436) * lu(545)
         lu(552) = lu(552) - lu(437) * lu(545)
         lu(553) = lu(553) - lu(438) * lu(545)
         lu(557) = lu(557) - lu(439) * lu(545)
         lu(592) = lu(592) - lu(435) * lu(585)
         lu(594) = lu(594) - lu(436) * lu(585)
         lu(595) = lu(595) - lu(437) * lu(585)
         lu(596) = lu(596) - lu(438) * lu(585)
         lu(600) = lu(600) - lu(439) * lu(585)
         lu(632) = lu(632) - lu(435) * lu(624)
         lu(634) = lu(634) - lu(436) * lu(624)
         lu(635) = lu(635) - lu(437) * lu(624)
         lu(636) = lu(636) - lu(438) * lu(624)
         lu(642) = lu(642) - lu(439) * lu(624)
         lu(706) = lu(706) - lu(435) * lu(698)
         lu(709) = lu(709) - lu(436) * lu(698)
         lu(711) = lu(711) - lu(437) * lu(698)
         lu(712) = lu(712) - lu(438) * lu(698)
         lu(719) = lu(719) - lu(439) * lu(698)
         lu(782) = lu(782) - lu(435) * lu(774)
         lu(785) = lu(785) - lu(436) * lu(774)
         lu(787) = lu(787) - lu(437) * lu(774)
         lu(788) = lu(788) - lu(438) * lu(774)
         lu(795) = lu(795) - lu(439) * lu(774)
         lu(823) = lu(823) - lu(435) * lu(816)
         lu(826) = lu(826) - lu(436) * lu(816)
         lu(828) = lu(828) - lu(437) * lu(816)
         lu(829) = lu(829) - lu(438) * lu(816)
         lu(836) = lu(836) - lu(439) * lu(816)
         lu(870) = lu(870) - lu(435) * lu(862)
         lu(873) = lu(873) - lu(436) * lu(862)
         lu(875) = lu(875) - lu(437) * lu(862)
         lu(876) = lu(876) - lu(438) * lu(862)
         lu(883) = lu(883) - lu(439) * lu(862)
         lu(966) = lu(966) - lu(435) * lu(964)
         lu(969) = lu(969) - lu(436) * lu(964)
         lu(971) = lu(971) - lu(437) * lu(964)
         lu(972) = lu(972) - lu(438) * lu(964)
         lu(979) = lu(979) - lu(439) * lu(964)

         lu(446) = 1. / lu(446)
         lu(447) = lu(447) * lu(446)
         lu(448) = lu(448) * lu(446)
         lu(449) = lu(449) * lu(446)
         lu(450) = lu(450) * lu(446)
         lu(451) = lu(451) * lu(446)
         lu(452) = lu(452) * lu(446)
         lu(453) = lu(453) * lu(446)
         lu(454) = lu(454) * lu(446)
         lu(455) = lu(455) * lu(446)
         lu(456) = lu(456) * lu(446)
         lu(457) = lu(457) * lu(446)
         lu(458) = lu(458) * lu(446)
         lu(459) = lu(459) * lu(446)
         lu(626) = lu(626) - lu(447) * lu(625)
         lu(627) = lu(627) - lu(448) * lu(625)
         lu(629) = lu(629) - lu(449) * lu(625)
         lu(631) = lu(631) - lu(450) * lu(625)
         lu(632) = lu(632) - lu(451) * lu(625)
         lu(633) = lu(633) - lu(452) * lu(625)
         lu(634) = lu(634) - lu(453) * lu(625)
         lu(635) = lu(635) - lu(454) * lu(625)
         lu(636) = lu(636) - lu(455) * lu(625)
         lu(637) = lu(637) - lu(456) * lu(625)
         lu(638) = lu(638) - lu(457) * lu(625)
         lu(641) = lu(641) - lu(458) * lu(625)
         lu(642) = lu(642) - lu(459) * lu(625)
         lu(700) = lu(700) - lu(447) * lu(699)
         lu(701) = lu(701) - lu(448) * lu(699)
         lu(703) = lu(703) - lu(449) * lu(699)
         lu(705) = lu(705) - lu(450) * lu(699)
         lu(706) = lu(706) - lu(451) * lu(699)
         lu(707) = lu(707) - lu(452) * lu(699)
         lu(709) = lu(709) - lu(453) * lu(699)
         lu(711) = lu(711) - lu(454) * lu(699)
         lu(712) = lu(712) - lu(455) * lu(699)
         lu(713) = lu(713) - lu(456) * lu(699)
         lu(714) = lu(714) - lu(457) * lu(699)
         lu(717) = lu(717) - lu(458) * lu(699)
         lu(719) = lu(719) - lu(459) * lu(699)
         lu(776) = lu(776) - lu(447) * lu(775)
         lu(777) = lu(777) - lu(448) * lu(775)
         lu(779) = lu(779) - lu(449) * lu(775)
         lu(781) = lu(781) - lu(450) * lu(775)
         lu(782) = lu(782) - lu(451) * lu(775)
         lu(783) = lu(783) - lu(452) * lu(775)
         lu(785) = lu(785) - lu(453) * lu(775)
         lu(787) = lu(787) - lu(454) * lu(775)
         lu(788) = lu(788) - lu(455) * lu(775)
         lu(789) = lu(789) - lu(456) * lu(775)
         lu(790) = lu(790) - lu(457) * lu(775)
         lu(793) = lu(793) - lu(458) * lu(775)
         lu(795) = lu(795) - lu(459) * lu(775)
         lu(818) = lu(818) - lu(447) * lu(817)
         lu(819) = lu(819) - lu(448) * lu(817)
         lu(820) = lu(820) - lu(449) * lu(817)
         lu(822) = lu(822) - lu(450) * lu(817)
         lu(823) = lu(823) - lu(451) * lu(817)
         lu(824) = lu(824) - lu(452) * lu(817)
         lu(826) = lu(826) - lu(453) * lu(817)
         lu(828) = lu(828) - lu(454) * lu(817)
         lu(829) = lu(829) - lu(455) * lu(817)
         lu(830) = lu(830) - lu(456) * lu(817)
         lu(831) = lu(831) - lu(457) * lu(817)
         lu(834) = lu(834) - lu(458) * lu(817)
         lu(836) = lu(836) - lu(459) * lu(817)
         lu(864) = lu(864) - lu(447) * lu(863)
         lu(865) = lu(865) - lu(448) * lu(863)
         lu(867) = lu(867) - lu(449) * lu(863)
         lu(869) = lu(869) - lu(450) * lu(863)
         lu(870) = lu(870) - lu(451) * lu(863)
         lu(871) = lu(871) - lu(452) * lu(863)
         lu(873) = lu(873) - lu(453) * lu(863)
         lu(875) = lu(875) - lu(454) * lu(863)
         lu(876) = lu(876) - lu(455) * lu(863)
         lu(877) = lu(877) - lu(456) * lu(863)
         lu(878) = lu(878) - lu(457) * lu(863)
         lu(881) = lu(881) - lu(458) * lu(863)
         lu(883) = lu(883) - lu(459) * lu(863)

         lu(461) = 1. / lu(461)
         lu(462) = lu(462) * lu(461)
         lu(463) = lu(463) * lu(461)
         lu(464) = lu(464) * lu(461)
         lu(465) = lu(465) * lu(461)
         lu(466) = lu(466) * lu(461)
         lu(467) = lu(467) * lu(461)
         lu(468) = lu(468) * lu(461)
         lu(474) = lu(474) - lu(462) * lu(472)
         lu(475) = lu(475) - lu(463) * lu(472)
         lu(476) = lu(476) - lu(464) * lu(472)
         lu(477) = lu(477) - lu(465) * lu(472)
         lu(478) = lu(478) - lu(466) * lu(472)
         lu(480) = lu(480) - lu(467) * lu(472)
         lu(481) = lu(481) - lu(468) * lu(472)
         lu(490) = lu(490) - lu(462) * lu(488)
         lu(491) = lu(491) - lu(463) * lu(488)
         lu(492) = lu(492) - lu(464) * lu(488)
         lu(493) = lu(493) - lu(465) * lu(488)
         lu(494) = lu(494) - lu(466) * lu(488)
         lu(497) = lu(497) - lu(467) * lu(488)
         lu(498) = lu(498) - lu(468) * lu(488)
         lu(549) = lu(549) - lu(462) * lu(546)
         lu(550) = lu(550) - lu(463) * lu(546)
         lu(551) = lu(551) - lu(464) * lu(546)
         lu(552) = lu(552) - lu(465) * lu(546)
         lu(553) = lu(553) - lu(466) * lu(546)
         lu(556) = lu(556) - lu(467) * lu(546)
         lu(557) = lu(557) - lu(468) * lu(546)
         lu(592) = lu(592) - lu(462) * lu(586)
         lu(593) = lu(593) - lu(463) * lu(586)
         lu(594) = lu(594) - lu(464) * lu(586)
         lu(595) = lu(595) - lu(465) * lu(586)
         lu(596) = lu(596) - lu(466) * lu(586)
         lu(599) = lu(599) - lu(467) * lu(586)
         lu(600) = lu(600) - lu(468) * lu(586)
         lu(632) = lu(632) - lu(462) * lu(626)
         lu(633) = lu(633) - lu(463) * lu(626)
         lu(634) = lu(634) - lu(464) * lu(626)
         lu(635) = lu(635) - lu(465) * lu(626)
         lu(636) = lu(636) - lu(466) * lu(626)
         lu(641) = lu(641) - lu(467) * lu(626)
         lu(642) = lu(642) - lu(468) * lu(626)
         lu(706) = lu(706) - lu(462) * lu(700)
         lu(707) = lu(707) - lu(463) * lu(700)
         lu(709) = lu(709) - lu(464) * lu(700)
         lu(711) = lu(711) - lu(465) * lu(700)
         lu(712) = lu(712) - lu(466) * lu(700)
         lu(717) = lu(717) - lu(467) * lu(700)
         lu(719) = lu(719) - lu(468) * lu(700)
         lu(782) = lu(782) - lu(462) * lu(776)
         lu(783) = lu(783) - lu(463) * lu(776)
         lu(785) = lu(785) - lu(464) * lu(776)
         lu(787) = lu(787) - lu(465) * lu(776)
         lu(788) = lu(788) - lu(466) * lu(776)
         lu(793) = lu(793) - lu(467) * lu(776)
         lu(795) = lu(795) - lu(468) * lu(776)
         lu(823) = lu(823) - lu(462) * lu(818)
         lu(824) = lu(824) - lu(463) * lu(818)
         lu(826) = lu(826) - lu(464) * lu(818)
         lu(828) = lu(828) - lu(465) * lu(818)
         lu(829) = lu(829) - lu(466) * lu(818)
         lu(834) = lu(834) - lu(467) * lu(818)
         lu(836) = lu(836) - lu(468) * lu(818)
         lu(870) = lu(870) - lu(462) * lu(864)
         lu(871) = lu(871) - lu(463) * lu(864)
         lu(873) = lu(873) - lu(464) * lu(864)
         lu(875) = lu(875) - lu(465) * lu(864)
         lu(876) = lu(876) - lu(466) * lu(864)
         lu(881) = lu(881) - lu(467) * lu(864)
         lu(883) = lu(883) - lu(468) * lu(864)


      end subroutine imp_lu_fac10

      subroutine imp_lu_fac11( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(473) = 1. / lu(473)
         lu(474) = lu(474) * lu(473)
         lu(475) = lu(475) * lu(473)
         lu(476) = lu(476) * lu(473)
         lu(477) = lu(477) * lu(473)
         lu(478) = lu(478) * lu(473)
         lu(479) = lu(479) * lu(473)
         lu(480) = lu(480) * lu(473)
         lu(481) = lu(481) * lu(473)
         lu(549) = lu(549) - lu(474) * lu(547)
         lu(550) = lu(550) - lu(475) * lu(547)
         lu(551) = lu(551) - lu(476) * lu(547)
         lu(552) = lu(552) - lu(477) * lu(547)
         lu(553) = lu(553) - lu(478) * lu(547)
         lu(555) = lu(555) - lu(479) * lu(547)
         lu(556) = lu(556) - lu(480) * lu(547)
         lu(557) = lu(557) - lu(481) * lu(547)
         lu(592) = lu(592) - lu(474) * lu(587)
         lu(593) = lu(593) - lu(475) * lu(587)
         lu(594) = lu(594) - lu(476) * lu(587)
         lu(595) = lu(595) - lu(477) * lu(587)
         lu(596) = lu(596) - lu(478) * lu(587)
         lu(598) = lu(598) - lu(479) * lu(587)
         lu(599) = lu(599) - lu(480) * lu(587)
         lu(600) = lu(600) - lu(481) * lu(587)
         lu(632) = lu(632) - lu(474) * lu(627)
         lu(633) = lu(633) - lu(475) * lu(627)
         lu(634) = lu(634) - lu(476) * lu(627)
         lu(635) = lu(635) - lu(477) * lu(627)
         lu(636) = lu(636) - lu(478) * lu(627)
         lu(638) = lu(638) - lu(479) * lu(627)
         lu(641) = lu(641) - lu(480) * lu(627)
         lu(642) = lu(642) - lu(481) * lu(627)
         lu(706) = lu(706) - lu(474) * lu(701)
         lu(707) = lu(707) - lu(475) * lu(701)
         lu(709) = lu(709) - lu(476) * lu(701)
         lu(711) = lu(711) - lu(477) * lu(701)
         lu(712) = lu(712) - lu(478) * lu(701)
         lu(714) = lu(714) - lu(479) * lu(701)
         lu(717) = lu(717) - lu(480) * lu(701)
         lu(719) = lu(719) - lu(481) * lu(701)
         lu(782) = lu(782) - lu(474) * lu(777)
         lu(783) = lu(783) - lu(475) * lu(777)
         lu(785) = lu(785) - lu(476) * lu(777)
         lu(787) = lu(787) - lu(477) * lu(777)
         lu(788) = lu(788) - lu(478) * lu(777)
         lu(790) = lu(790) - lu(479) * lu(777)
         lu(793) = lu(793) - lu(480) * lu(777)
         lu(795) = lu(795) - lu(481) * lu(777)
         lu(823) = lu(823) - lu(474) * lu(819)
         lu(824) = lu(824) - lu(475) * lu(819)
         lu(826) = lu(826) - lu(476) * lu(819)
         lu(828) = lu(828) - lu(477) * lu(819)
         lu(829) = lu(829) - lu(478) * lu(819)
         lu(831) = lu(831) - lu(479) * lu(819)
         lu(834) = lu(834) - lu(480) * lu(819)
         lu(836) = lu(836) - lu(481) * lu(819)
         lu(870) = lu(870) - lu(474) * lu(865)
         lu(871) = lu(871) - lu(475) * lu(865)
         lu(873) = lu(873) - lu(476) * lu(865)
         lu(875) = lu(875) - lu(477) * lu(865)
         lu(876) = lu(876) - lu(478) * lu(865)
         lu(878) = lu(878) - lu(479) * lu(865)
         lu(881) = lu(881) - lu(480) * lu(865)
         lu(883) = lu(883) - lu(481) * lu(865)

         lu(489) = 1. / lu(489)
         lu(490) = lu(490) * lu(489)
         lu(491) = lu(491) * lu(489)
         lu(492) = lu(492) * lu(489)
         lu(493) = lu(493) * lu(489)
         lu(494) = lu(494) * lu(489)
         lu(495) = lu(495) * lu(489)
         lu(496) = lu(496) * lu(489)
         lu(497) = lu(497) * lu(489)
         lu(498) = lu(498) * lu(489)
         lu(506) = lu(506) - lu(490) * lu(504)
         lu(507) = lu(507) - lu(491) * lu(504)
         lu(508) = lu(508) - lu(492) * lu(504)
         lu(509) = lu(509) - lu(493) * lu(504)
         lu(510) = lu(510) - lu(494) * lu(504)
         lu(511) = lu(511) - lu(495) * lu(504)
         lu(512) = lu(512) - lu(496) * lu(504)
         lu(513) = lu(513) - lu(497) * lu(504)
         lu(514) = lu(514) - lu(498) * lu(504)
         lu(592) = lu(592) - lu(490) * lu(588)
         lu(593) = lu(593) - lu(491) * lu(588)
         lu(594) = lu(594) - lu(492) * lu(588)
         lu(595) = lu(595) - lu(493) * lu(588)
         lu(596) = lu(596) - lu(494) * lu(588)
         lu(597) = - lu(495) * lu(588)
         lu(598) = lu(598) - lu(496) * lu(588)
         lu(599) = lu(599) - lu(497) * lu(588)
         lu(600) = lu(600) - lu(498) * lu(588)
         lu(632) = lu(632) - lu(490) * lu(628)
         lu(633) = lu(633) - lu(491) * lu(628)
         lu(634) = lu(634) - lu(492) * lu(628)
         lu(635) = lu(635) - lu(493) * lu(628)
         lu(636) = lu(636) - lu(494) * lu(628)
         lu(637) = lu(637) - lu(495) * lu(628)
         lu(638) = lu(638) - lu(496) * lu(628)
         lu(641) = lu(641) - lu(497) * lu(628)
         lu(642) = lu(642) - lu(498) * lu(628)
         lu(706) = lu(706) - lu(490) * lu(702)
         lu(707) = lu(707) - lu(491) * lu(702)
         lu(709) = lu(709) - lu(492) * lu(702)
         lu(711) = lu(711) - lu(493) * lu(702)
         lu(712) = lu(712) - lu(494) * lu(702)
         lu(713) = lu(713) - lu(495) * lu(702)
         lu(714) = lu(714) - lu(496) * lu(702)
         lu(717) = lu(717) - lu(497) * lu(702)
         lu(719) = lu(719) - lu(498) * lu(702)
         lu(782) = lu(782) - lu(490) * lu(778)
         lu(783) = lu(783) - lu(491) * lu(778)
         lu(785) = lu(785) - lu(492) * lu(778)
         lu(787) = lu(787) - lu(493) * lu(778)
         lu(788) = lu(788) - lu(494) * lu(778)
         lu(789) = lu(789) - lu(495) * lu(778)
         lu(790) = lu(790) - lu(496) * lu(778)
         lu(793) = lu(793) - lu(497) * lu(778)
         lu(795) = lu(795) - lu(498) * lu(778)
         lu(870) = lu(870) - lu(490) * lu(866)
         lu(871) = lu(871) - lu(491) * lu(866)
         lu(873) = lu(873) - lu(492) * lu(866)
         lu(875) = lu(875) - lu(493) * lu(866)
         lu(876) = lu(876) - lu(494) * lu(866)
         lu(877) = lu(877) - lu(495) * lu(866)
         lu(878) = lu(878) - lu(496) * lu(866)
         lu(881) = lu(881) - lu(497) * lu(866)
         lu(883) = lu(883) - lu(498) * lu(866)
         lu(966) = lu(966) - lu(490) * lu(965)
         lu(967) = lu(967) - lu(491) * lu(965)
         lu(969) = lu(969) - lu(492) * lu(965)
         lu(971) = lu(971) - lu(493) * lu(965)
         lu(972) = lu(972) - lu(494) * lu(965)
         lu(973) = lu(973) - lu(495) * lu(965)
         lu(974) = lu(974) - lu(496) * lu(965)
         lu(977) = lu(977) - lu(497) * lu(965)
         lu(979) = lu(979) - lu(498) * lu(965)

         lu(505) = 1. / lu(505)
         lu(506) = lu(506) * lu(505)
         lu(507) = lu(507) * lu(505)
         lu(508) = lu(508) * lu(505)
         lu(509) = lu(509) * lu(505)
         lu(510) = lu(510) * lu(505)
         lu(511) = lu(511) * lu(505)
         lu(512) = lu(512) * lu(505)
         lu(513) = lu(513) * lu(505)
         lu(514) = lu(514) * lu(505)
         lu(532) = lu(532) - lu(506) * lu(529)
         lu(533) = lu(533) - lu(507) * lu(529)
         lu(534) = lu(534) - lu(508) * lu(529)
         lu(535) = lu(535) - lu(509) * lu(529)
         lu(536) = lu(536) - lu(510) * lu(529)
         lu(537) = lu(537) - lu(511) * lu(529)
         lu(538) = lu(538) - lu(512) * lu(529)
         lu(539) = lu(539) - lu(513) * lu(529)
         lu(540) = lu(540) - lu(514) * lu(529)
         lu(592) = lu(592) - lu(506) * lu(589)
         lu(593) = lu(593) - lu(507) * lu(589)
         lu(594) = lu(594) - lu(508) * lu(589)
         lu(595) = lu(595) - lu(509) * lu(589)
         lu(596) = lu(596) - lu(510) * lu(589)
         lu(597) = lu(597) - lu(511) * lu(589)
         lu(598) = lu(598) - lu(512) * lu(589)
         lu(599) = lu(599) - lu(513) * lu(589)
         lu(600) = lu(600) - lu(514) * lu(589)
         lu(632) = lu(632) - lu(506) * lu(629)
         lu(633) = lu(633) - lu(507) * lu(629)
         lu(634) = lu(634) - lu(508) * lu(629)
         lu(635) = lu(635) - lu(509) * lu(629)
         lu(636) = lu(636) - lu(510) * lu(629)
         lu(637) = lu(637) - lu(511) * lu(629)
         lu(638) = lu(638) - lu(512) * lu(629)
         lu(641) = lu(641) - lu(513) * lu(629)
         lu(642) = lu(642) - lu(514) * lu(629)
         lu(706) = lu(706) - lu(506) * lu(703)
         lu(707) = lu(707) - lu(507) * lu(703)
         lu(709) = lu(709) - lu(508) * lu(703)
         lu(711) = lu(711) - lu(509) * lu(703)
         lu(712) = lu(712) - lu(510) * lu(703)
         lu(713) = lu(713) - lu(511) * lu(703)
         lu(714) = lu(714) - lu(512) * lu(703)
         lu(717) = lu(717) - lu(513) * lu(703)
         lu(719) = lu(719) - lu(514) * lu(703)
         lu(782) = lu(782) - lu(506) * lu(779)
         lu(783) = lu(783) - lu(507) * lu(779)
         lu(785) = lu(785) - lu(508) * lu(779)
         lu(787) = lu(787) - lu(509) * lu(779)
         lu(788) = lu(788) - lu(510) * lu(779)
         lu(789) = lu(789) - lu(511) * lu(779)
         lu(790) = lu(790) - lu(512) * lu(779)
         lu(793) = lu(793) - lu(513) * lu(779)
         lu(795) = lu(795) - lu(514) * lu(779)
         lu(823) = lu(823) - lu(506) * lu(820)
         lu(824) = lu(824) - lu(507) * lu(820)
         lu(826) = lu(826) - lu(508) * lu(820)
         lu(828) = lu(828) - lu(509) * lu(820)
         lu(829) = lu(829) - lu(510) * lu(820)
         lu(830) = lu(830) - lu(511) * lu(820)
         lu(831) = lu(831) - lu(512) * lu(820)
         lu(834) = lu(834) - lu(513) * lu(820)
         lu(836) = lu(836) - lu(514) * lu(820)
         lu(870) = lu(870) - lu(506) * lu(867)
         lu(871) = lu(871) - lu(507) * lu(867)
         lu(873) = lu(873) - lu(508) * lu(867)
         lu(875) = lu(875) - lu(509) * lu(867)
         lu(876) = lu(876) - lu(510) * lu(867)
         lu(877) = lu(877) - lu(511) * lu(867)
         lu(878) = lu(878) - lu(512) * lu(867)
         lu(881) = lu(881) - lu(513) * lu(867)
         lu(883) = lu(883) - lu(514) * lu(867)

         lu(530) = 1. / lu(530)
         lu(531) = lu(531) * lu(530)
         lu(532) = lu(532) * lu(530)
         lu(533) = lu(533) * lu(530)
         lu(534) = lu(534) * lu(530)
         lu(535) = lu(535) * lu(530)
         lu(536) = lu(536) * lu(530)
         lu(537) = lu(537) * lu(530)
         lu(538) = lu(538) * lu(530)
         lu(539) = lu(539) * lu(530)
         lu(540) = lu(540) * lu(530)
         lu(591) = lu(591) - lu(531) * lu(590)
         lu(592) = lu(592) - lu(532) * lu(590)
         lu(593) = lu(593) - lu(533) * lu(590)
         lu(594) = lu(594) - lu(534) * lu(590)
         lu(595) = lu(595) - lu(535) * lu(590)
         lu(596) = lu(596) - lu(536) * lu(590)
         lu(597) = lu(597) - lu(537) * lu(590)
         lu(598) = lu(598) - lu(538) * lu(590)
         lu(599) = lu(599) - lu(539) * lu(590)
         lu(600) = lu(600) - lu(540) * lu(590)
         lu(631) = lu(631) - lu(531) * lu(630)
         lu(632) = lu(632) - lu(532) * lu(630)
         lu(633) = lu(633) - lu(533) * lu(630)
         lu(634) = lu(634) - lu(534) * lu(630)
         lu(635) = lu(635) - lu(535) * lu(630)
         lu(636) = lu(636) - lu(536) * lu(630)
         lu(637) = lu(637) - lu(537) * lu(630)
         lu(638) = lu(638) - lu(538) * lu(630)
         lu(641) = lu(641) - lu(539) * lu(630)
         lu(642) = lu(642) - lu(540) * lu(630)
         lu(705) = lu(705) - lu(531) * lu(704)
         lu(706) = lu(706) - lu(532) * lu(704)
         lu(707) = lu(707) - lu(533) * lu(704)
         lu(709) = lu(709) - lu(534) * lu(704)
         lu(711) = lu(711) - lu(535) * lu(704)
         lu(712) = lu(712) - lu(536) * lu(704)
         lu(713) = lu(713) - lu(537) * lu(704)
         lu(714) = lu(714) - lu(538) * lu(704)
         lu(717) = lu(717) - lu(539) * lu(704)
         lu(719) = lu(719) - lu(540) * lu(704)
         lu(781) = lu(781) - lu(531) * lu(780)
         lu(782) = lu(782) - lu(532) * lu(780)
         lu(783) = lu(783) - lu(533) * lu(780)
         lu(785) = lu(785) - lu(534) * lu(780)
         lu(787) = lu(787) - lu(535) * lu(780)
         lu(788) = lu(788) - lu(536) * lu(780)
         lu(789) = lu(789) - lu(537) * lu(780)
         lu(790) = lu(790) - lu(538) * lu(780)
         lu(793) = lu(793) - lu(539) * lu(780)
         lu(795) = lu(795) - lu(540) * lu(780)
         lu(822) = lu(822) - lu(531) * lu(821)
         lu(823) = lu(823) - lu(532) * lu(821)
         lu(824) = lu(824) - lu(533) * lu(821)
         lu(826) = lu(826) - lu(534) * lu(821)
         lu(828) = lu(828) - lu(535) * lu(821)
         lu(829) = lu(829) - lu(536) * lu(821)
         lu(830) = lu(830) - lu(537) * lu(821)
         lu(831) = lu(831) - lu(538) * lu(821)
         lu(834) = lu(834) - lu(539) * lu(821)
         lu(836) = lu(836) - lu(540) * lu(821)
         lu(869) = lu(869) - lu(531) * lu(868)
         lu(870) = lu(870) - lu(532) * lu(868)
         lu(871) = lu(871) - lu(533) * lu(868)
         lu(873) = lu(873) - lu(534) * lu(868)
         lu(875) = lu(875) - lu(535) * lu(868)
         lu(876) = lu(876) - lu(536) * lu(868)
         lu(877) = lu(877) - lu(537) * lu(868)
         lu(878) = lu(878) - lu(538) * lu(868)
         lu(881) = lu(881) - lu(539) * lu(868)
         lu(883) = lu(883) - lu(540) * lu(868)

         lu(548) = 1. / lu(548)
         lu(549) = lu(549) * lu(548)
         lu(550) = lu(550) * lu(548)
         lu(551) = lu(551) * lu(548)
         lu(552) = lu(552) * lu(548)
         lu(553) = lu(553) * lu(548)
         lu(554) = lu(554) * lu(548)
         lu(555) = lu(555) * lu(548)
         lu(556) = lu(556) * lu(548)
         lu(557) = lu(557) * lu(548)
         lu(592) = lu(592) - lu(549) * lu(591)
         lu(593) = lu(593) - lu(550) * lu(591)
         lu(594) = lu(594) - lu(551) * lu(591)
         lu(595) = lu(595) - lu(552) * lu(591)
         lu(596) = lu(596) - lu(553) * lu(591)
         lu(597) = lu(597) - lu(554) * lu(591)
         lu(598) = lu(598) - lu(555) * lu(591)
         lu(599) = lu(599) - lu(556) * lu(591)
         lu(600) = lu(600) - lu(557) * lu(591)
         lu(632) = lu(632) - lu(549) * lu(631)
         lu(633) = lu(633) - lu(550) * lu(631)
         lu(634) = lu(634) - lu(551) * lu(631)
         lu(635) = lu(635) - lu(552) * lu(631)
         lu(636) = lu(636) - lu(553) * lu(631)
         lu(637) = lu(637) - lu(554) * lu(631)
         lu(638) = lu(638) - lu(555) * lu(631)
         lu(641) = lu(641) - lu(556) * lu(631)
         lu(642) = lu(642) - lu(557) * lu(631)
         lu(706) = lu(706) - lu(549) * lu(705)
         lu(707) = lu(707) - lu(550) * lu(705)
         lu(709) = lu(709) - lu(551) * lu(705)
         lu(711) = lu(711) - lu(552) * lu(705)
         lu(712) = lu(712) - lu(553) * lu(705)
         lu(713) = lu(713) - lu(554) * lu(705)
         lu(714) = lu(714) - lu(555) * lu(705)
         lu(717) = lu(717) - lu(556) * lu(705)
         lu(719) = lu(719) - lu(557) * lu(705)
         lu(782) = lu(782) - lu(549) * lu(781)
         lu(783) = lu(783) - lu(550) * lu(781)
         lu(785) = lu(785) - lu(551) * lu(781)
         lu(787) = lu(787) - lu(552) * lu(781)
         lu(788) = lu(788) - lu(553) * lu(781)
         lu(789) = lu(789) - lu(554) * lu(781)
         lu(790) = lu(790) - lu(555) * lu(781)
         lu(793) = lu(793) - lu(556) * lu(781)
         lu(795) = lu(795) - lu(557) * lu(781)
         lu(823) = lu(823) - lu(549) * lu(822)
         lu(824) = lu(824) - lu(550) * lu(822)
         lu(826) = lu(826) - lu(551) * lu(822)
         lu(828) = lu(828) - lu(552) * lu(822)
         lu(829) = lu(829) - lu(553) * lu(822)
         lu(830) = lu(830) - lu(554) * lu(822)
         lu(831) = lu(831) - lu(555) * lu(822)
         lu(834) = lu(834) - lu(556) * lu(822)
         lu(836) = lu(836) - lu(557) * lu(822)
         lu(870) = lu(870) - lu(549) * lu(869)
         lu(871) = lu(871) - lu(550) * lu(869)
         lu(873) = lu(873) - lu(551) * lu(869)
         lu(875) = lu(875) - lu(552) * lu(869)
         lu(876) = lu(876) - lu(553) * lu(869)
         lu(877) = lu(877) - lu(554) * lu(869)
         lu(878) = lu(878) - lu(555) * lu(869)
         lu(881) = lu(881) - lu(556) * lu(869)
         lu(883) = lu(883) - lu(557) * lu(869)


      end subroutine imp_lu_fac11

      subroutine imp_lu_fac12( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(560) = 1. / lu(560)
         lu(561) = lu(561) * lu(560)
         lu(562) = lu(562) * lu(560)
         lu(563) = lu(563) * lu(560)
         lu(564) = lu(564) * lu(560)
         lu(565) = lu(565) * lu(560)
         lu(566) = lu(566) * lu(560)
         lu(567) = lu(567) * lu(560)
         lu(568) = lu(568) * lu(560)
         lu(593) = lu(593) - lu(561) * lu(592)
         lu(594) = lu(594) - lu(562) * lu(592)
         lu(595) = lu(595) - lu(563) * lu(592)
         lu(596) = lu(596) - lu(564) * lu(592)
         lu(597) = lu(597) - lu(565) * lu(592)
         lu(598) = lu(598) - lu(566) * lu(592)
         lu(599) = lu(599) - lu(567) * lu(592)
         lu(600) = lu(600) - lu(568) * lu(592)
         lu(633) = lu(633) - lu(561) * lu(632)
         lu(634) = lu(634) - lu(562) * lu(632)
         lu(635) = lu(635) - lu(563) * lu(632)
         lu(636) = lu(636) - lu(564) * lu(632)
         lu(637) = lu(637) - lu(565) * lu(632)
         lu(638) = lu(638) - lu(566) * lu(632)
         lu(641) = lu(641) - lu(567) * lu(632)
         lu(642) = lu(642) - lu(568) * lu(632)
         lu(707) = lu(707) - lu(561) * lu(706)
         lu(709) = lu(709) - lu(562) * lu(706)
         lu(711) = lu(711) - lu(563) * lu(706)
         lu(712) = lu(712) - lu(564) * lu(706)
         lu(713) = lu(713) - lu(565) * lu(706)
         lu(714) = lu(714) - lu(566) * lu(706)
         lu(717) = lu(717) - lu(567) * lu(706)
         lu(719) = lu(719) - lu(568) * lu(706)
         lu(783) = lu(783) - lu(561) * lu(782)
         lu(785) = lu(785) - lu(562) * lu(782)
         lu(787) = lu(787) - lu(563) * lu(782)
         lu(788) = lu(788) - lu(564) * lu(782)
         lu(789) = lu(789) - lu(565) * lu(782)
         lu(790) = lu(790) - lu(566) * lu(782)
         lu(793) = lu(793) - lu(567) * lu(782)
         lu(795) = lu(795) - lu(568) * lu(782)
         lu(824) = lu(824) - lu(561) * lu(823)
         lu(826) = lu(826) - lu(562) * lu(823)
         lu(828) = lu(828) - lu(563) * lu(823)
         lu(829) = lu(829) - lu(564) * lu(823)
         lu(830) = lu(830) - lu(565) * lu(823)
         lu(831) = lu(831) - lu(566) * lu(823)
         lu(834) = lu(834) - lu(567) * lu(823)
         lu(836) = lu(836) - lu(568) * lu(823)
         lu(871) = lu(871) - lu(561) * lu(870)
         lu(873) = lu(873) - lu(562) * lu(870)
         lu(875) = lu(875) - lu(563) * lu(870)
         lu(876) = lu(876) - lu(564) * lu(870)
         lu(877) = lu(877) - lu(565) * lu(870)
         lu(878) = lu(878) - lu(566) * lu(870)
         lu(881) = lu(881) - lu(567) * lu(870)
         lu(883) = lu(883) - lu(568) * lu(870)
         lu(967) = lu(967) - lu(561) * lu(966)
         lu(969) = lu(969) - lu(562) * lu(966)
         lu(971) = lu(971) - lu(563) * lu(966)
         lu(972) = lu(972) - lu(564) * lu(966)
         lu(973) = lu(973) - lu(565) * lu(966)
         lu(974) = lu(974) - lu(566) * lu(966)
         lu(977) = lu(977) - lu(567) * lu(966)
         lu(979) = lu(979) - lu(568) * lu(966)

         lu(593) = 1. / lu(593)
         lu(594) = lu(594) * lu(593)
         lu(595) = lu(595) * lu(593)
         lu(596) = lu(596) * lu(593)
         lu(597) = lu(597) * lu(593)
         lu(598) = lu(598) * lu(593)
         lu(599) = lu(599) * lu(593)
         lu(600) = lu(600) * lu(593)
         lu(634) = lu(634) - lu(594) * lu(633)
         lu(635) = lu(635) - lu(595) * lu(633)
         lu(636) = lu(636) - lu(596) * lu(633)
         lu(637) = lu(637) - lu(597) * lu(633)
         lu(638) = lu(638) - lu(598) * lu(633)
         lu(641) = lu(641) - lu(599) * lu(633)
         lu(642) = lu(642) - lu(600) * lu(633)
         lu(709) = lu(709) - lu(594) * lu(707)
         lu(711) = lu(711) - lu(595) * lu(707)
         lu(712) = lu(712) - lu(596) * lu(707)
         lu(713) = lu(713) - lu(597) * lu(707)
         lu(714) = lu(714) - lu(598) * lu(707)
         lu(717) = lu(717) - lu(599) * lu(707)
         lu(719) = lu(719) - lu(600) * lu(707)
         lu(785) = lu(785) - lu(594) * lu(783)
         lu(787) = lu(787) - lu(595) * lu(783)
         lu(788) = lu(788) - lu(596) * lu(783)
         lu(789) = lu(789) - lu(597) * lu(783)
         lu(790) = lu(790) - lu(598) * lu(783)
         lu(793) = lu(793) - lu(599) * lu(783)
         lu(795) = lu(795) - lu(600) * lu(783)
         lu(826) = lu(826) - lu(594) * lu(824)
         lu(828) = lu(828) - lu(595) * lu(824)
         lu(829) = lu(829) - lu(596) * lu(824)
         lu(830) = lu(830) - lu(597) * lu(824)
         lu(831) = lu(831) - lu(598) * lu(824)
         lu(834) = lu(834) - lu(599) * lu(824)
         lu(836) = lu(836) - lu(600) * lu(824)
         lu(873) = lu(873) - lu(594) * lu(871)
         lu(875) = lu(875) - lu(595) * lu(871)
         lu(876) = lu(876) - lu(596) * lu(871)
         lu(877) = lu(877) - lu(597) * lu(871)
         lu(878) = lu(878) - lu(598) * lu(871)
         lu(881) = lu(881) - lu(599) * lu(871)
         lu(883) = lu(883) - lu(600) * lu(871)
         lu(886) = - lu(594) * lu(885)
         lu(887) = lu(887) - lu(595) * lu(885)
         lu(888) = - lu(596) * lu(885)
         lu(889) = lu(889) - lu(597) * lu(885)
         lu(890) = - lu(598) * lu(885)
         lu(893) = lu(893) - lu(599) * lu(885)
         lu(895) = - lu(600) * lu(885)
         lu(969) = lu(969) - lu(594) * lu(967)
         lu(971) = lu(971) - lu(595) * lu(967)
         lu(972) = lu(972) - lu(596) * lu(967)
         lu(973) = lu(973) - lu(597) * lu(967)
         lu(974) = lu(974) - lu(598) * lu(967)
         lu(977) = lu(977) - lu(599) * lu(967)
         lu(979) = lu(979) - lu(600) * lu(967)

         lu(602) = 1. / lu(602)
         lu(603) = lu(603) * lu(602)
         lu(604) = lu(604) * lu(602)
         lu(605) = lu(605) * lu(602)
         lu(606) = lu(606) * lu(602)
         lu(607) = lu(607) * lu(602)
         lu(608) = lu(608) * lu(602)
         lu(609) = lu(609) * lu(602)
         lu(610) = lu(610) * lu(602)
         lu(651) = lu(651) - lu(603) * lu(649)
         lu(652) = lu(652) - lu(604) * lu(649)
         lu(653) = lu(653) - lu(605) * lu(649)
         lu(654) = - lu(606) * lu(649)
         lu(656) = lu(656) - lu(607) * lu(649)
         lu(657) = lu(657) - lu(608) * lu(649)
         lu(658) = - lu(609) * lu(649)
         lu(661) = lu(661) - lu(610) * lu(649)
         lu(710) = lu(710) - lu(603) * lu(708)
         lu(711) = lu(711) - lu(604) * lu(708)
         lu(712) = lu(712) - lu(605) * lu(708)
         lu(713) = lu(713) - lu(606) * lu(708)
         lu(715) = lu(715) - lu(607) * lu(708)
         lu(716) = lu(716) - lu(608) * lu(708)
         lu(717) = lu(717) - lu(609) * lu(708)
         lu(720) = lu(720) - lu(610) * lu(708)
         lu(786) = lu(786) - lu(603) * lu(784)
         lu(787) = lu(787) - lu(604) * lu(784)
         lu(788) = lu(788) - lu(605) * lu(784)
         lu(789) = lu(789) - lu(606) * lu(784)
         lu(791) = lu(791) - lu(607) * lu(784)
         lu(792) = lu(792) - lu(608) * lu(784)
         lu(793) = lu(793) - lu(609) * lu(784)
         lu(796) = lu(796) - lu(610) * lu(784)
         lu(827) = lu(827) - lu(603) * lu(825)
         lu(828) = lu(828) - lu(604) * lu(825)
         lu(829) = lu(829) - lu(605) * lu(825)
         lu(830) = lu(830) - lu(606) * lu(825)
         lu(832) = lu(832) - lu(607) * lu(825)
         lu(833) = - lu(608) * lu(825)
         lu(834) = lu(834) - lu(609) * lu(825)
         lu(837) = lu(837) - lu(610) * lu(825)
         lu(874) = lu(874) - lu(603) * lu(872)
         lu(875) = lu(875) - lu(604) * lu(872)
         lu(876) = lu(876) - lu(605) * lu(872)
         lu(877) = lu(877) - lu(606) * lu(872)
         lu(879) = lu(879) - lu(607) * lu(872)
         lu(880) = - lu(608) * lu(872)
         lu(881) = lu(881) - lu(609) * lu(872)
         lu(884) = lu(884) - lu(610) * lu(872)
         lu(907) = lu(907) - lu(603) * lu(905)
         lu(908) = - lu(604) * lu(905)
         lu(909) = lu(909) - lu(605) * lu(905)
         lu(910) = - lu(606) * lu(905)
         lu(912) = lu(912) - lu(607) * lu(905)
         lu(913) = lu(913) - lu(608) * lu(905)
         lu(914) = - lu(609) * lu(905)
         lu(917) = lu(917) - lu(610) * lu(905)
         lu(923) = lu(923) - lu(603) * lu(921)
         lu(924) = lu(924) - lu(604) * lu(921)
         lu(925) = lu(925) - lu(605) * lu(921)
         lu(926) = lu(926) - lu(606) * lu(921)
         lu(928) = lu(928) - lu(607) * lu(921)
         lu(929) = lu(929) - lu(608) * lu(921)
         lu(930) = lu(930) - lu(609) * lu(921)
         lu(933) = lu(933) - lu(610) * lu(921)
         lu(942) = lu(942) - lu(603) * lu(940)
         lu(943) = lu(943) - lu(604) * lu(940)
         lu(944) = lu(944) - lu(605) * lu(940)
         lu(945) = - lu(606) * lu(940)
         lu(947) = lu(947) - lu(607) * lu(940)
         lu(948) = lu(948) - lu(608) * lu(940)
         lu(949) = - lu(609) * lu(940)
         lu(952) = lu(952) - lu(610) * lu(940)
         lu(970) = lu(970) - lu(603) * lu(968)
         lu(971) = lu(971) - lu(604) * lu(968)
         lu(972) = lu(972) - lu(605) * lu(968)
         lu(973) = lu(973) - lu(606) * lu(968)
         lu(975) = lu(975) - lu(607) * lu(968)
         lu(976) = lu(976) - lu(608) * lu(968)
         lu(977) = lu(977) - lu(609) * lu(968)
         lu(980) = lu(980) - lu(610) * lu(968)
         lu(988) = lu(988) - lu(603) * lu(986)
         lu(989) = lu(989) - lu(604) * lu(986)
         lu(990) = lu(990) - lu(605) * lu(986)
         lu(991) = lu(991) - lu(606) * lu(986)
         lu(993) = lu(993) - lu(607) * lu(986)
         lu(994) = lu(994) - lu(608) * lu(986)
         lu(995) = - lu(609) * lu(986)
         lu(998) = lu(998) - lu(610) * lu(986)

         lu(634) = 1. / lu(634)
         lu(635) = lu(635) * lu(634)
         lu(636) = lu(636) * lu(634)
         lu(637) = lu(637) * lu(634)
         lu(638) = lu(638) * lu(634)
         lu(639) = lu(639) * lu(634)
         lu(640) = lu(640) * lu(634)
         lu(641) = lu(641) * lu(634)
         lu(642) = lu(642) * lu(634)
         lu(643) = lu(643) * lu(634)
         lu(652) = lu(652) - lu(635) * lu(650)
         lu(653) = lu(653) - lu(636) * lu(650)
         lu(654) = lu(654) - lu(637) * lu(650)
         lu(655) = lu(655) - lu(638) * lu(650)
         lu(656) = lu(656) - lu(639) * lu(650)
         lu(657) = lu(657) - lu(640) * lu(650)
         lu(658) = lu(658) - lu(641) * lu(650)
         lu(660) = lu(660) - lu(642) * lu(650)
         lu(661) = lu(661) - lu(643) * lu(650)
         lu(711) = lu(711) - lu(635) * lu(709)
         lu(712) = lu(712) - lu(636) * lu(709)
         lu(713) = lu(713) - lu(637) * lu(709)
         lu(714) = lu(714) - lu(638) * lu(709)
         lu(715) = lu(715) - lu(639) * lu(709)
         lu(716) = lu(716) - lu(640) * lu(709)
         lu(717) = lu(717) - lu(641) * lu(709)
         lu(719) = lu(719) - lu(642) * lu(709)
         lu(720) = lu(720) - lu(643) * lu(709)
         lu(787) = lu(787) - lu(635) * lu(785)
         lu(788) = lu(788) - lu(636) * lu(785)
         lu(789) = lu(789) - lu(637) * lu(785)
         lu(790) = lu(790) - lu(638) * lu(785)
         lu(791) = lu(791) - lu(639) * lu(785)
         lu(792) = lu(792) - lu(640) * lu(785)
         lu(793) = lu(793) - lu(641) * lu(785)
         lu(795) = lu(795) - lu(642) * lu(785)
         lu(796) = lu(796) - lu(643) * lu(785)
         lu(828) = lu(828) - lu(635) * lu(826)
         lu(829) = lu(829) - lu(636) * lu(826)
         lu(830) = lu(830) - lu(637) * lu(826)
         lu(831) = lu(831) - lu(638) * lu(826)
         lu(832) = lu(832) - lu(639) * lu(826)
         lu(833) = lu(833) - lu(640) * lu(826)
         lu(834) = lu(834) - lu(641) * lu(826)
         lu(836) = lu(836) - lu(642) * lu(826)
         lu(837) = lu(837) - lu(643) * lu(826)
         lu(875) = lu(875) - lu(635) * lu(873)
         lu(876) = lu(876) - lu(636) * lu(873)
         lu(877) = lu(877) - lu(637) * lu(873)
         lu(878) = lu(878) - lu(638) * lu(873)
         lu(879) = lu(879) - lu(639) * lu(873)
         lu(880) = lu(880) - lu(640) * lu(873)
         lu(881) = lu(881) - lu(641) * lu(873)
         lu(883) = lu(883) - lu(642) * lu(873)
         lu(884) = lu(884) - lu(643) * lu(873)
         lu(887) = lu(887) - lu(635) * lu(886)
         lu(888) = lu(888) - lu(636) * lu(886)
         lu(889) = lu(889) - lu(637) * lu(886)
         lu(890) = lu(890) - lu(638) * lu(886)
         lu(891) = lu(891) - lu(639) * lu(886)
         lu(892) = lu(892) - lu(640) * lu(886)
         lu(893) = lu(893) - lu(641) * lu(886)
         lu(895) = lu(895) - lu(642) * lu(886)
         lu(896) = - lu(643) * lu(886)
         lu(908) = lu(908) - lu(635) * lu(906)
         lu(909) = lu(909) - lu(636) * lu(906)
         lu(910) = lu(910) - lu(637) * lu(906)
         lu(911) = - lu(638) * lu(906)
         lu(912) = lu(912) - lu(639) * lu(906)
         lu(913) = lu(913) - lu(640) * lu(906)
         lu(914) = lu(914) - lu(641) * lu(906)
         lu(916) = lu(916) - lu(642) * lu(906)
         lu(917) = lu(917) - lu(643) * lu(906)
         lu(924) = lu(924) - lu(635) * lu(922)
         lu(925) = lu(925) - lu(636) * lu(922)
         lu(926) = lu(926) - lu(637) * lu(922)
         lu(927) = - lu(638) * lu(922)
         lu(928) = lu(928) - lu(639) * lu(922)
         lu(929) = lu(929) - lu(640) * lu(922)
         lu(930) = lu(930) - lu(641) * lu(922)
         lu(932) = lu(932) - lu(642) * lu(922)
         lu(933) = lu(933) - lu(643) * lu(922)
         lu(943) = lu(943) - lu(635) * lu(941)
         lu(944) = lu(944) - lu(636) * lu(941)
         lu(945) = lu(945) - lu(637) * lu(941)
         lu(946) = lu(946) - lu(638) * lu(941)
         lu(947) = lu(947) - lu(639) * lu(941)
         lu(948) = lu(948) - lu(640) * lu(941)
         lu(949) = lu(949) - lu(641) * lu(941)
         lu(951) = lu(951) - lu(642) * lu(941)
         lu(952) = lu(952) - lu(643) * lu(941)
         lu(971) = lu(971) - lu(635) * lu(969)
         lu(972) = lu(972) - lu(636) * lu(969)
         lu(973) = lu(973) - lu(637) * lu(969)
         lu(974) = lu(974) - lu(638) * lu(969)
         lu(975) = lu(975) - lu(639) * lu(969)
         lu(976) = lu(976) - lu(640) * lu(969)
         lu(977) = lu(977) - lu(641) * lu(969)
         lu(979) = lu(979) - lu(642) * lu(969)
         lu(980) = lu(980) - lu(643) * lu(969)
         lu(989) = lu(989) - lu(635) * lu(987)
         lu(990) = lu(990) - lu(636) * lu(987)
         lu(991) = lu(991) - lu(637) * lu(987)
         lu(992) = lu(992) - lu(638) * lu(987)
         lu(993) = lu(993) - lu(639) * lu(987)
         lu(994) = lu(994) - lu(640) * lu(987)
         lu(995) = lu(995) - lu(641) * lu(987)
         lu(997) = lu(997) - lu(642) * lu(987)
         lu(998) = lu(998) - lu(643) * lu(987)


      end subroutine imp_lu_fac12

      subroutine imp_lu_fac13( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(651) = 1. / lu(651)
         lu(652) = lu(652) * lu(651)
         lu(653) = lu(653) * lu(651)
         lu(654) = lu(654) * lu(651)
         lu(655) = lu(655) * lu(651)
         lu(656) = lu(656) * lu(651)
         lu(657) = lu(657) * lu(651)
         lu(658) = lu(658) * lu(651)
         lu(659) = lu(659) * lu(651)
         lu(660) = lu(660) * lu(651)
         lu(661) = lu(661) * lu(651)
         lu(711) = lu(711) - lu(652) * lu(710)
         lu(712) = lu(712) - lu(653) * lu(710)
         lu(713) = lu(713) - lu(654) * lu(710)
         lu(714) = lu(714) - lu(655) * lu(710)
         lu(715) = lu(715) - lu(656) * lu(710)
         lu(716) = lu(716) - lu(657) * lu(710)
         lu(717) = lu(717) - lu(658) * lu(710)
         lu(718) = lu(718) - lu(659) * lu(710)
         lu(719) = lu(719) - lu(660) * lu(710)
         lu(720) = lu(720) - lu(661) * lu(710)
         lu(787) = lu(787) - lu(652) * lu(786)
         lu(788) = lu(788) - lu(653) * lu(786)
         lu(789) = lu(789) - lu(654) * lu(786)
         lu(790) = lu(790) - lu(655) * lu(786)
         lu(791) = lu(791) - lu(656) * lu(786)
         lu(792) = lu(792) - lu(657) * lu(786)
         lu(793) = lu(793) - lu(658) * lu(786)
         lu(794) = lu(794) - lu(659) * lu(786)
         lu(795) = lu(795) - lu(660) * lu(786)
         lu(796) = lu(796) - lu(661) * lu(786)
         lu(828) = lu(828) - lu(652) * lu(827)
         lu(829) = lu(829) - lu(653) * lu(827)
         lu(830) = lu(830) - lu(654) * lu(827)
         lu(831) = lu(831) - lu(655) * lu(827)
         lu(832) = lu(832) - lu(656) * lu(827)
         lu(833) = lu(833) - lu(657) * lu(827)
         lu(834) = lu(834) - lu(658) * lu(827)
         lu(835) = lu(835) - lu(659) * lu(827)
         lu(836) = lu(836) - lu(660) * lu(827)
         lu(837) = lu(837) - lu(661) * lu(827)
         lu(875) = lu(875) - lu(652) * lu(874)
         lu(876) = lu(876) - lu(653) * lu(874)
         lu(877) = lu(877) - lu(654) * lu(874)
         lu(878) = lu(878) - lu(655) * lu(874)
         lu(879) = lu(879) - lu(656) * lu(874)
         lu(880) = lu(880) - lu(657) * lu(874)
         lu(881) = lu(881) - lu(658) * lu(874)
         lu(882) = lu(882) - lu(659) * lu(874)
         lu(883) = lu(883) - lu(660) * lu(874)
         lu(884) = lu(884) - lu(661) * lu(874)
         lu(908) = lu(908) - lu(652) * lu(907)
         lu(909) = lu(909) - lu(653) * lu(907)
         lu(910) = lu(910) - lu(654) * lu(907)
         lu(911) = lu(911) - lu(655) * lu(907)
         lu(912) = lu(912) - lu(656) * lu(907)
         lu(913) = lu(913) - lu(657) * lu(907)
         lu(914) = lu(914) - lu(658) * lu(907)
         lu(915) = lu(915) - lu(659) * lu(907)
         lu(916) = lu(916) - lu(660) * lu(907)
         lu(917) = lu(917) - lu(661) * lu(907)
         lu(924) = lu(924) - lu(652) * lu(923)
         lu(925) = lu(925) - lu(653) * lu(923)
         lu(926) = lu(926) - lu(654) * lu(923)
         lu(927) = lu(927) - lu(655) * lu(923)
         lu(928) = lu(928) - lu(656) * lu(923)
         lu(929) = lu(929) - lu(657) * lu(923)
         lu(930) = lu(930) - lu(658) * lu(923)
         lu(931) = - lu(659) * lu(923)
         lu(932) = lu(932) - lu(660) * lu(923)
         lu(933) = lu(933) - lu(661) * lu(923)
         lu(943) = lu(943) - lu(652) * lu(942)
         lu(944) = lu(944) - lu(653) * lu(942)
         lu(945) = lu(945) - lu(654) * lu(942)
         lu(946) = lu(946) - lu(655) * lu(942)
         lu(947) = lu(947) - lu(656) * lu(942)
         lu(948) = lu(948) - lu(657) * lu(942)
         lu(949) = lu(949) - lu(658) * lu(942)
         lu(950) = lu(950) - lu(659) * lu(942)
         lu(951) = lu(951) - lu(660) * lu(942)
         lu(952) = lu(952) - lu(661) * lu(942)
         lu(971) = lu(971) - lu(652) * lu(970)
         lu(972) = lu(972) - lu(653) * lu(970)
         lu(973) = lu(973) - lu(654) * lu(970)
         lu(974) = lu(974) - lu(655) * lu(970)
         lu(975) = lu(975) - lu(656) * lu(970)
         lu(976) = lu(976) - lu(657) * lu(970)
         lu(977) = lu(977) - lu(658) * lu(970)
         lu(978) = lu(978) - lu(659) * lu(970)
         lu(979) = lu(979) - lu(660) * lu(970)
         lu(980) = lu(980) - lu(661) * lu(970)
         lu(989) = lu(989) - lu(652) * lu(988)
         lu(990) = lu(990) - lu(653) * lu(988)
         lu(991) = lu(991) - lu(654) * lu(988)
         lu(992) = lu(992) - lu(655) * lu(988)
         lu(993) = lu(993) - lu(656) * lu(988)
         lu(994) = lu(994) - lu(657) * lu(988)
         lu(995) = lu(995) - lu(658) * lu(988)
         lu(996) = lu(996) - lu(659) * lu(988)
         lu(997) = lu(997) - lu(660) * lu(988)
         lu(998) = lu(998) - lu(661) * lu(988)

         lu(711) = 1. / lu(711)
         lu(712) = lu(712) * lu(711)
         lu(713) = lu(713) * lu(711)
         lu(714) = lu(714) * lu(711)
         lu(715) = lu(715) * lu(711)
         lu(716) = lu(716) * lu(711)
         lu(717) = lu(717) * lu(711)
         lu(718) = lu(718) * lu(711)
         lu(719) = lu(719) * lu(711)
         lu(720) = lu(720) * lu(711)
         lu(788) = lu(788) - lu(712) * lu(787)
         lu(789) = lu(789) - lu(713) * lu(787)
         lu(790) = lu(790) - lu(714) * lu(787)
         lu(791) = lu(791) - lu(715) * lu(787)
         lu(792) = lu(792) - lu(716) * lu(787)
         lu(793) = lu(793) - lu(717) * lu(787)
         lu(794) = lu(794) - lu(718) * lu(787)
         lu(795) = lu(795) - lu(719) * lu(787)
         lu(796) = lu(796) - lu(720) * lu(787)
         lu(829) = lu(829) - lu(712) * lu(828)
         lu(830) = lu(830) - lu(713) * lu(828)
         lu(831) = lu(831) - lu(714) * lu(828)
         lu(832) = lu(832) - lu(715) * lu(828)
         lu(833) = lu(833) - lu(716) * lu(828)
         lu(834) = lu(834) - lu(717) * lu(828)
         lu(835) = lu(835) - lu(718) * lu(828)
         lu(836) = lu(836) - lu(719) * lu(828)
         lu(837) = lu(837) - lu(720) * lu(828)
         lu(876) = lu(876) - lu(712) * lu(875)
         lu(877) = lu(877) - lu(713) * lu(875)
         lu(878) = lu(878) - lu(714) * lu(875)
         lu(879) = lu(879) - lu(715) * lu(875)
         lu(880) = lu(880) - lu(716) * lu(875)
         lu(881) = lu(881) - lu(717) * lu(875)
         lu(882) = lu(882) - lu(718) * lu(875)
         lu(883) = lu(883) - lu(719) * lu(875)
         lu(884) = lu(884) - lu(720) * lu(875)
         lu(888) = lu(888) - lu(712) * lu(887)
         lu(889) = lu(889) - lu(713) * lu(887)
         lu(890) = lu(890) - lu(714) * lu(887)
         lu(891) = lu(891) - lu(715) * lu(887)
         lu(892) = lu(892) - lu(716) * lu(887)
         lu(893) = lu(893) - lu(717) * lu(887)
         lu(894) = lu(894) - lu(718) * lu(887)
         lu(895) = lu(895) - lu(719) * lu(887)
         lu(896) = lu(896) - lu(720) * lu(887)
         lu(909) = lu(909) - lu(712) * lu(908)
         lu(910) = lu(910) - lu(713) * lu(908)
         lu(911) = lu(911) - lu(714) * lu(908)
         lu(912) = lu(912) - lu(715) * lu(908)
         lu(913) = lu(913) - lu(716) * lu(908)
         lu(914) = lu(914) - lu(717) * lu(908)
         lu(915) = lu(915) - lu(718) * lu(908)
         lu(916) = lu(916) - lu(719) * lu(908)
         lu(917) = lu(917) - lu(720) * lu(908)
         lu(925) = lu(925) - lu(712) * lu(924)
         lu(926) = lu(926) - lu(713) * lu(924)
         lu(927) = lu(927) - lu(714) * lu(924)
         lu(928) = lu(928) - lu(715) * lu(924)
         lu(929) = lu(929) - lu(716) * lu(924)
         lu(930) = lu(930) - lu(717) * lu(924)
         lu(931) = lu(931) - lu(718) * lu(924)
         lu(932) = lu(932) - lu(719) * lu(924)
         lu(933) = lu(933) - lu(720) * lu(924)
         lu(944) = lu(944) - lu(712) * lu(943)
         lu(945) = lu(945) - lu(713) * lu(943)
         lu(946) = lu(946) - lu(714) * lu(943)
         lu(947) = lu(947) - lu(715) * lu(943)
         lu(948) = lu(948) - lu(716) * lu(943)
         lu(949) = lu(949) - lu(717) * lu(943)
         lu(950) = lu(950) - lu(718) * lu(943)
         lu(951) = lu(951) - lu(719) * lu(943)
         lu(952) = lu(952) - lu(720) * lu(943)
         lu(972) = lu(972) - lu(712) * lu(971)
         lu(973) = lu(973) - lu(713) * lu(971)
         lu(974) = lu(974) - lu(714) * lu(971)
         lu(975) = lu(975) - lu(715) * lu(971)
         lu(976) = lu(976) - lu(716) * lu(971)
         lu(977) = lu(977) - lu(717) * lu(971)
         lu(978) = lu(978) - lu(718) * lu(971)
         lu(979) = lu(979) - lu(719) * lu(971)
         lu(980) = lu(980) - lu(720) * lu(971)
         lu(990) = lu(990) - lu(712) * lu(989)
         lu(991) = lu(991) - lu(713) * lu(989)
         lu(992) = lu(992) - lu(714) * lu(989)
         lu(993) = lu(993) - lu(715) * lu(989)
         lu(994) = lu(994) - lu(716) * lu(989)
         lu(995) = lu(995) - lu(717) * lu(989)
         lu(996) = lu(996) - lu(718) * lu(989)
         lu(997) = lu(997) - lu(719) * lu(989)
         lu(998) = lu(998) - lu(720) * lu(989)

         lu(788) = 1. / lu(788)
         lu(789) = lu(789) * lu(788)
         lu(790) = lu(790) * lu(788)
         lu(791) = lu(791) * lu(788)
         lu(792) = lu(792) * lu(788)
         lu(793) = lu(793) * lu(788)
         lu(794) = lu(794) * lu(788)
         lu(795) = lu(795) * lu(788)
         lu(796) = lu(796) * lu(788)
         lu(830) = lu(830) - lu(789) * lu(829)
         lu(831) = lu(831) - lu(790) * lu(829)
         lu(832) = lu(832) - lu(791) * lu(829)
         lu(833) = lu(833) - lu(792) * lu(829)
         lu(834) = lu(834) - lu(793) * lu(829)
         lu(835) = lu(835) - lu(794) * lu(829)
         lu(836) = lu(836) - lu(795) * lu(829)
         lu(837) = lu(837) - lu(796) * lu(829)
         lu(877) = lu(877) - lu(789) * lu(876)
         lu(878) = lu(878) - lu(790) * lu(876)
         lu(879) = lu(879) - lu(791) * lu(876)
         lu(880) = lu(880) - lu(792) * lu(876)
         lu(881) = lu(881) - lu(793) * lu(876)
         lu(882) = lu(882) - lu(794) * lu(876)
         lu(883) = lu(883) - lu(795) * lu(876)
         lu(884) = lu(884) - lu(796) * lu(876)
         lu(889) = lu(889) - lu(789) * lu(888)
         lu(890) = lu(890) - lu(790) * lu(888)
         lu(891) = lu(891) - lu(791) * lu(888)
         lu(892) = lu(892) - lu(792) * lu(888)
         lu(893) = lu(893) - lu(793) * lu(888)
         lu(894) = lu(894) - lu(794) * lu(888)
         lu(895) = lu(895) - lu(795) * lu(888)
         lu(896) = lu(896) - lu(796) * lu(888)
         lu(910) = lu(910) - lu(789) * lu(909)
         lu(911) = lu(911) - lu(790) * lu(909)
         lu(912) = lu(912) - lu(791) * lu(909)
         lu(913) = lu(913) - lu(792) * lu(909)
         lu(914) = lu(914) - lu(793) * lu(909)
         lu(915) = lu(915) - lu(794) * lu(909)
         lu(916) = lu(916) - lu(795) * lu(909)
         lu(917) = lu(917) - lu(796) * lu(909)
         lu(926) = lu(926) - lu(789) * lu(925)
         lu(927) = lu(927) - lu(790) * lu(925)
         lu(928) = lu(928) - lu(791) * lu(925)
         lu(929) = lu(929) - lu(792) * lu(925)
         lu(930) = lu(930) - lu(793) * lu(925)
         lu(931) = lu(931) - lu(794) * lu(925)
         lu(932) = lu(932) - lu(795) * lu(925)
         lu(933) = lu(933) - lu(796) * lu(925)
         lu(945) = lu(945) - lu(789) * lu(944)
         lu(946) = lu(946) - lu(790) * lu(944)
         lu(947) = lu(947) - lu(791) * lu(944)
         lu(948) = lu(948) - lu(792) * lu(944)
         lu(949) = lu(949) - lu(793) * lu(944)
         lu(950) = lu(950) - lu(794) * lu(944)
         lu(951) = lu(951) - lu(795) * lu(944)
         lu(952) = lu(952) - lu(796) * lu(944)
         lu(973) = lu(973) - lu(789) * lu(972)
         lu(974) = lu(974) - lu(790) * lu(972)
         lu(975) = lu(975) - lu(791) * lu(972)
         lu(976) = lu(976) - lu(792) * lu(972)
         lu(977) = lu(977) - lu(793) * lu(972)
         lu(978) = lu(978) - lu(794) * lu(972)
         lu(979) = lu(979) - lu(795) * lu(972)
         lu(980) = lu(980) - lu(796) * lu(972)
         lu(991) = lu(991) - lu(789) * lu(990)
         lu(992) = lu(992) - lu(790) * lu(990)
         lu(993) = lu(993) - lu(791) * lu(990)
         lu(994) = lu(994) - lu(792) * lu(990)
         lu(995) = lu(995) - lu(793) * lu(990)
         lu(996) = lu(996) - lu(794) * lu(990)
         lu(997) = lu(997) - lu(795) * lu(990)
         lu(998) = lu(998) - lu(796) * lu(990)

         lu(830) = 1. / lu(830)
         lu(831) = lu(831) * lu(830)
         lu(832) = lu(832) * lu(830)
         lu(833) = lu(833) * lu(830)
         lu(834) = lu(834) * lu(830)
         lu(835) = lu(835) * lu(830)
         lu(836) = lu(836) * lu(830)
         lu(837) = lu(837) * lu(830)
         lu(878) = lu(878) - lu(831) * lu(877)
         lu(879) = lu(879) - lu(832) * lu(877)
         lu(880) = lu(880) - lu(833) * lu(877)
         lu(881) = lu(881) - lu(834) * lu(877)
         lu(882) = lu(882) - lu(835) * lu(877)
         lu(883) = lu(883) - lu(836) * lu(877)
         lu(884) = lu(884) - lu(837) * lu(877)
         lu(890) = lu(890) - lu(831) * lu(889)
         lu(891) = lu(891) - lu(832) * lu(889)
         lu(892) = lu(892) - lu(833) * lu(889)
         lu(893) = lu(893) - lu(834) * lu(889)
         lu(894) = lu(894) - lu(835) * lu(889)
         lu(895) = lu(895) - lu(836) * lu(889)
         lu(896) = lu(896) - lu(837) * lu(889)
         lu(911) = lu(911) - lu(831) * lu(910)
         lu(912) = lu(912) - lu(832) * lu(910)
         lu(913) = lu(913) - lu(833) * lu(910)
         lu(914) = lu(914) - lu(834) * lu(910)
         lu(915) = lu(915) - lu(835) * lu(910)
         lu(916) = lu(916) - lu(836) * lu(910)
         lu(917) = lu(917) - lu(837) * lu(910)
         lu(927) = lu(927) - lu(831) * lu(926)
         lu(928) = lu(928) - lu(832) * lu(926)
         lu(929) = lu(929) - lu(833) * lu(926)
         lu(930) = lu(930) - lu(834) * lu(926)
         lu(931) = lu(931) - lu(835) * lu(926)
         lu(932) = lu(932) - lu(836) * lu(926)
         lu(933) = lu(933) - lu(837) * lu(926)
         lu(946) = lu(946) - lu(831) * lu(945)
         lu(947) = lu(947) - lu(832) * lu(945)
         lu(948) = lu(948) - lu(833) * lu(945)
         lu(949) = lu(949) - lu(834) * lu(945)
         lu(950) = lu(950) - lu(835) * lu(945)
         lu(951) = lu(951) - lu(836) * lu(945)
         lu(952) = lu(952) - lu(837) * lu(945)
         lu(974) = lu(974) - lu(831) * lu(973)
         lu(975) = lu(975) - lu(832) * lu(973)
         lu(976) = lu(976) - lu(833) * lu(973)
         lu(977) = lu(977) - lu(834) * lu(973)
         lu(978) = lu(978) - lu(835) * lu(973)
         lu(979) = lu(979) - lu(836) * lu(973)
         lu(980) = lu(980) - lu(837) * lu(973)
         lu(992) = lu(992) - lu(831) * lu(991)
         lu(993) = lu(993) - lu(832) * lu(991)
         lu(994) = lu(994) - lu(833) * lu(991)
         lu(995) = lu(995) - lu(834) * lu(991)
         lu(996) = lu(996) - lu(835) * lu(991)
         lu(997) = lu(997) - lu(836) * lu(991)
         lu(998) = lu(998) - lu(837) * lu(991)

         lu(878) = 1. / lu(878)
         lu(879) = lu(879) * lu(878)
         lu(880) = lu(880) * lu(878)
         lu(881) = lu(881) * lu(878)
         lu(882) = lu(882) * lu(878)
         lu(883) = lu(883) * lu(878)
         lu(884) = lu(884) * lu(878)
         lu(891) = lu(891) - lu(879) * lu(890)
         lu(892) = lu(892) - lu(880) * lu(890)
         lu(893) = lu(893) - lu(881) * lu(890)
         lu(894) = lu(894) - lu(882) * lu(890)
         lu(895) = lu(895) - lu(883) * lu(890)
         lu(896) = lu(896) - lu(884) * lu(890)
         lu(912) = lu(912) - lu(879) * lu(911)
         lu(913) = lu(913) - lu(880) * lu(911)
         lu(914) = lu(914) - lu(881) * lu(911)
         lu(915) = lu(915) - lu(882) * lu(911)
         lu(916) = lu(916) - lu(883) * lu(911)
         lu(917) = lu(917) - lu(884) * lu(911)
         lu(928) = lu(928) - lu(879) * lu(927)
         lu(929) = lu(929) - lu(880) * lu(927)
         lu(930) = lu(930) - lu(881) * lu(927)
         lu(931) = lu(931) - lu(882) * lu(927)
         lu(932) = lu(932) - lu(883) * lu(927)
         lu(933) = lu(933) - lu(884) * lu(927)
         lu(947) = lu(947) - lu(879) * lu(946)
         lu(948) = lu(948) - lu(880) * lu(946)
         lu(949) = lu(949) - lu(881) * lu(946)
         lu(950) = lu(950) - lu(882) * lu(946)
         lu(951) = lu(951) - lu(883) * lu(946)
         lu(952) = lu(952) - lu(884) * lu(946)
         lu(975) = lu(975) - lu(879) * lu(974)
         lu(976) = lu(976) - lu(880) * lu(974)
         lu(977) = lu(977) - lu(881) * lu(974)
         lu(978) = lu(978) - lu(882) * lu(974)
         lu(979) = lu(979) - lu(883) * lu(974)
         lu(980) = lu(980) - lu(884) * lu(974)
         lu(993) = lu(993) - lu(879) * lu(992)
         lu(994) = lu(994) - lu(880) * lu(992)
         lu(995) = lu(995) - lu(881) * lu(992)
         lu(996) = lu(996) - lu(882) * lu(992)
         lu(997) = lu(997) - lu(883) * lu(992)
         lu(998) = lu(998) - lu(884) * lu(992)

         lu(891) = 1. / lu(891)
         lu(892) = lu(892) * lu(891)
         lu(893) = lu(893) * lu(891)
         lu(894) = lu(894) * lu(891)
         lu(895) = lu(895) * lu(891)
         lu(896) = lu(896) * lu(891)
         lu(913) = lu(913) - lu(892) * lu(912)
         lu(914) = lu(914) - lu(893) * lu(912)
         lu(915) = lu(915) - lu(894) * lu(912)
         lu(916) = lu(916) - lu(895) * lu(912)
         lu(917) = lu(917) - lu(896) * lu(912)
         lu(929) = lu(929) - lu(892) * lu(928)
         lu(930) = lu(930) - lu(893) * lu(928)
         lu(931) = lu(931) - lu(894) * lu(928)
         lu(932) = lu(932) - lu(895) * lu(928)
         lu(933) = lu(933) - lu(896) * lu(928)
         lu(948) = lu(948) - lu(892) * lu(947)
         lu(949) = lu(949) - lu(893) * lu(947)
         lu(950) = lu(950) - lu(894) * lu(947)
         lu(951) = lu(951) - lu(895) * lu(947)
         lu(952) = lu(952) - lu(896) * lu(947)
         lu(976) = lu(976) - lu(892) * lu(975)
         lu(977) = lu(977) - lu(893) * lu(975)
         lu(978) = lu(978) - lu(894) * lu(975)
         lu(979) = lu(979) - lu(895) * lu(975)
         lu(980) = lu(980) - lu(896) * lu(975)
         lu(994) = lu(994) - lu(892) * lu(993)
         lu(995) = lu(995) - lu(893) * lu(993)
         lu(996) = lu(996) - lu(894) * lu(993)
         lu(997) = lu(997) - lu(895) * lu(993)
         lu(998) = lu(998) - lu(896) * lu(993)


      end subroutine imp_lu_fac13

      subroutine imp_lu_fac14( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

         lu(913) = 1. / lu(913)
         lu(914) = lu(914) * lu(913)
         lu(915) = lu(915) * lu(913)
         lu(916) = lu(916) * lu(913)
         lu(917) = lu(917) * lu(913)
         lu(930) = lu(930) - lu(914) * lu(929)
         lu(931) = lu(931) - lu(915) * lu(929)
         lu(932) = lu(932) - lu(916) * lu(929)
         lu(933) = lu(933) - lu(917) * lu(929)
         lu(949) = lu(949) - lu(914) * lu(948)
         lu(950) = lu(950) - lu(915) * lu(948)
         lu(951) = lu(951) - lu(916) * lu(948)
         lu(952) = lu(952) - lu(917) * lu(948)
         lu(977) = lu(977) - lu(914) * lu(976)
         lu(978) = lu(978) - lu(915) * lu(976)
         lu(979) = lu(979) - lu(916) * lu(976)
         lu(980) = lu(980) - lu(917) * lu(976)
         lu(995) = lu(995) - lu(914) * lu(994)
         lu(996) = lu(996) - lu(915) * lu(994)
         lu(997) = lu(997) - lu(916) * lu(994)
         lu(998) = lu(998) - lu(917) * lu(994)

         lu(930) = 1. / lu(930)
         lu(931) = lu(931) * lu(930)
         lu(932) = lu(932) * lu(930)
         lu(933) = lu(933) * lu(930)
         lu(950) = lu(950) - lu(931) * lu(949)
         lu(951) = lu(951) - lu(932) * lu(949)
         lu(952) = lu(952) - lu(933) * lu(949)
         lu(978) = lu(978) - lu(931) * lu(977)
         lu(979) = lu(979) - lu(932) * lu(977)
         lu(980) = lu(980) - lu(933) * lu(977)
         lu(996) = lu(996) - lu(931) * lu(995)
         lu(997) = lu(997) - lu(932) * lu(995)
         lu(998) = lu(998) - lu(933) * lu(995)

         lu(950) = 1. / lu(950)
         lu(951) = lu(951) * lu(950)
         lu(952) = lu(952) * lu(950)
         lu(979) = lu(979) - lu(951) * lu(978)
         lu(980) = lu(980) - lu(952) * lu(978)
         lu(997) = lu(997) - lu(951) * lu(996)
         lu(998) = lu(998) - lu(952) * lu(996)

         lu(979) = 1. / lu(979)
         lu(980) = lu(980) * lu(979)
         lu(998) = lu(998) - lu(980) * lu(997)

         lu(998) = 1. / lu(998)


      end subroutine imp_lu_fac14

      subroutine imp_lu_fac( lu )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(imp_nzcnt)

      call imp_lu_fac01( lu )
      call imp_lu_fac02( lu )
      call imp_lu_fac03( lu )
      call imp_lu_fac04( lu )
      call imp_lu_fac05( lu )
      call imp_lu_fac06( lu )
      call imp_lu_fac07( lu )
      call imp_lu_fac08( lu )
      call imp_lu_fac09( lu )
      call imp_lu_fac10( lu )
      call imp_lu_fac11( lu )
      call imp_lu_fac12( lu )
      call imp_lu_fac13( lu )
      call imp_lu_fac14( lu )

      end subroutine imp_lu_fac

      end module MO_IMP_FACTOR_MOD

      module MO_ROD_FACTOR_MOD

      contains

      subroutine rod_lu_fac( lu )

      use CHEM_MODS_MOD, only : rod_nzcnt, clsze

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(inout) :: lu(rod_nzcnt)


      end subroutine rod_lu_fac

      end module MO_ROD_FACTOR_MOD

      module MO_IMP_SOLVE_MOD

      contains

      subroutine imp_lu_slv01( lu, b )

      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)

!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------

!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
         b(55) = b(55) - lu(10) * b(9)
         b(83) = b(83) - lu(11) * b(9)
         b(68) = b(68) - lu(14) * b(10)
         b(83) = b(83) - lu(15) * b(10)
         b(86) = b(86) - lu(17) * b(11)
         b(89) = b(89) - lu(18) * b(11)
         b(83) = b(83) - lu(21) * b(12)
         b(86) = b(86) - lu(23) * b(13)
         b(51) = b(51) - lu(25) * b(14)
         b(83) = b(83) - lu(26) * b(14)
         b(58) = b(58) - lu(28) * b(15)
         b(82) = b(82) - lu(29) * b(15)
         b(88) = b(88) - lu(30) * b(15)
         b(80) = b(80) - lu(33) * b(16)
         b(83) = b(83) - lu(34) * b(16)
         b(90) = b(90) - lu(35) * b(16)
         b(85) = b(85) - lu(37) * b(17)
         b(90) = b(90) - lu(38) * b(17)
         b(91) = b(91) - lu(39) * b(17)
         b(65) = b(65) - lu(42) * b(18)
         b(83) = b(83) - lu(43) * b(18)
         b(34) = b(34) - lu(45) * b(19)
         b(78) = b(78) - lu(46) * b(19)
         b(82) = b(82) - lu(47) * b(19)
         b(83) = b(83) - lu(48) * b(19)
         b(85) = b(85) - lu(49) * b(19)
         b(88) = b(88) - lu(50) * b(19)
         b(91) = b(91) - lu(51) * b(19)
         b(77) = b(77) - lu(53) * b(20)
         b(78) = b(78) - lu(54) * b(20)
         b(80) = b(80) - lu(55) * b(20)
         b(90) = b(90) - lu(56) * b(20)
         b(82) = b(82) - lu(58) * b(21)
         b(83) = b(83) - lu(59) * b(21)
         b(56) = b(56) - lu(61) * b(22)
         b(68) = b(68) - lu(62) * b(22)
         b(79) = b(79) - lu(63) * b(22)
         b(80) = b(80) - lu(64) * b(22)
         b(82) = b(82) - lu(66) * b(23)
         b(83) = b(83) - lu(67) * b(23)
         b(90) = b(90) - lu(68) * b(23)
         b(57) = b(57) - lu(70) * b(24)
         b(61) = b(61) - lu(71) * b(24)
         b(83) = b(83) - lu(72) * b(24)
         b(60) = b(60) - lu(74) * b(25)
         b(73) = b(73) - lu(75) * b(25)
         b(83) = b(83) - lu(76) * b(25)
         b(69) = b(69) - lu(78) * b(26)
         b(72) = b(72) - lu(79) * b(26)
         b(83) = b(83) - lu(80) * b(26)
         b(37) = b(37) - lu(82) * b(27)
         b(82) = b(82) - lu(83) * b(27)
         b(83) = b(83) - lu(84) * b(27)
         b(84) = b(84) - lu(85) * b(27)
         b(88) = b(88) - lu(86) * b(27)
         b(45) = b(45) - lu(88) * b(28)
         b(71) = b(71) - lu(89) * b(28)
         b(82) = b(82) - lu(90) * b(28)
         b(83) = b(83) - lu(91) * b(28)
         b(46) = b(46) - lu(93) * b(29)
         b(55) = b(55) - lu(94) * b(29)
         b(82) = b(82) - lu(95) * b(29)
         b(83) = b(83) - lu(96) * b(29)
         b(71) = b(71) - lu(98) * b(30)
         b(82) = b(82) - lu(99) * b(30)
         b(83) = b(83) - lu(100) * b(30)
         b(67) = b(67) - lu(103) * b(31)
         b(70) = b(70) - lu(104) * b(31)
         b(83) = b(83) - lu(105) * b(31)
         b(90) = b(90) - lu(106) * b(31)
         b(78) = b(78) - lu(108) * b(32)
         b(82) = b(82) - lu(109) * b(32)
         b(83) = b(83) - lu(110) * b(32)
         b(88) = b(88) - lu(111) * b(32)
         b(79) = b(79) - lu(113) * b(33)
         b(86) = b(86) - lu(114) * b(33)
         b(82) = b(82) - lu(116) * b(34)
         b(83) = b(83) - lu(117) * b(34)
         b(84) = b(84) - lu(118) * b(34)
         b(61) = b(61) - lu(120) * b(35)
         b(73) = b(73) - lu(121) * b(35)
         b(83) = b(83) - lu(122) * b(35)
         b(90) = b(90) - lu(123) * b(35)
         b(77) = b(77) - lu(125) * b(36)
         b(78) = b(78) - lu(126) * b(36)
         b(83) = b(83) - lu(127) * b(36)
         b(88) = b(88) - lu(128) * b(36)
         b(58) = b(58) - lu(131) * b(37)
         b(82) = b(82) - lu(132) * b(37)
         b(85) = b(85) - lu(133) * b(37)
         b(88) = b(88) - lu(134) * b(37)
         b(90) = b(90) - lu(135) * b(37)
         b(42) = b(42) - lu(138) * b(38)
         b(71) = b(71) - lu(139) * b(38)
         b(82) = b(82) - lu(140) * b(38)
         b(83) = b(83) - lu(141) * b(38)
         b(88) = b(88) - lu(142) * b(38)
         b(68) = b(68) - lu(144) * b(39)
         b(80) = b(80) - lu(145) * b(39)
         b(86) = b(86) - lu(146) * b(39)
         b(87) = b(87) - lu(147) * b(39)
         b(90) = b(90) - lu(148) * b(39)
         b(51) = b(51) - lu(152) * b(40)
         b(74) = b(74) - lu(153) * b(40)
         b(75) = b(75) - lu(154) * b(40)
         b(76) = b(76) - lu(155) * b(40)
         b(82) = b(82) - lu(156) * b(40)
         b(83) = b(83) - lu(157) * b(40)
         b(88) = b(88) - lu(158) * b(40)
         b(82) = b(82) - lu(160) * b(41)
         b(83) = b(83) - lu(161) * b(41)
         b(88) = b(88) - lu(162) * b(41)
         b(71) = b(71) - lu(165) * b(42)
         b(82) = b(82) - lu(166) * b(42)
         b(83) = b(83) - lu(167) * b(42)
         b(85) = b(85) - lu(168) * b(42)
         b(88) = b(88) - lu(169) * b(42)
         b(90) = b(90) - lu(170) * b(42)
         b(62) = b(62) - lu(174) * b(43)
         b(79) = b(79) - lu(175) * b(43)
         b(83) = b(83) - lu(176) * b(43)
         b(86) = b(86) - lu(177) * b(43)
         b(87) = b(87) - lu(178) * b(43)
         b(46) = b(46) - lu(180) * b(44)
         b(74) = b(74) - lu(181) * b(44)
         b(75) = b(75) - lu(182) * b(44)
         b(76) = b(76) - lu(183) * b(44)
         b(80) = b(80) - lu(184) * b(44)
         b(83) = b(83) - lu(185) * b(44)
         b(84) = b(84) - lu(186) * b(44)
         b(90) = b(90) - lu(187) * b(44)
         b(91) = b(91) - lu(188) * b(44)
         b(71) = b(71) - lu(193) * b(45)
         b(78) = b(78) - lu(194) * b(45)
         b(82) = b(82) - lu(195) * b(45)
         b(83) = b(83) - lu(196) * b(45)
         b(85) = b(85) - lu(197) * b(45)
         b(88) = b(88) - lu(198) * b(45)
         b(90) = b(90) - lu(199) * b(45)
         b(72) = b(72) - lu(201) * b(46)
         b(77) = b(77) - lu(202) * b(46)
         b(78) = b(78) - lu(203) * b(46)
         b(83) = b(83) - lu(204) * b(46)
         b(63) = b(63) - lu(207) * b(47)
         b(64) = b(64) - lu(208) * b(47)
         b(66) = b(66) - lu(209) * b(47)
         b(82) = b(82) - lu(210) * b(47)
         b(83) = b(83) - lu(211) * b(47)
         b(84) = b(84) - lu(212) * b(47)
         b(88) = b(88) - lu(213) * b(47)
         b(90) = b(90) - lu(214) * b(47)
         b(61) = b(61) - lu(216) * b(48)
         b(69) = b(69) - lu(217) * b(48)
         b(80) = b(80) - lu(218) * b(48)
         b(82) = b(82) - lu(219) * b(48)
         b(83) = b(83) - lu(220) * b(48)
         b(85) = b(85) - lu(221) * b(48)
         b(88) = b(88) - lu(222) * b(48)
         b(90) = b(90) - lu(223) * b(48)
         b(67) = b(67) - lu(225) * b(49)
         b(68) = b(68) - lu(226) * b(49)
         b(80) = b(80) - lu(227) * b(49)
         b(82) = b(82) - lu(228) * b(49)
         b(84) = b(84) - lu(229) * b(49)
         b(85) = b(85) - lu(230) * b(49)
         b(90) = b(90) - lu(231) * b(49)
         b(62) = b(62) - lu(235) * b(50)
         b(68) = b(68) - lu(236) * b(50)
         b(79) = b(79) - lu(237) * b(50)
         b(80) = b(80) - lu(238) * b(50)
         b(83) = b(83) - lu(239) * b(50)
         b(86) = b(86) - lu(240) * b(50)
         b(87) = b(87) - lu(241) * b(50)
         b(89) = b(89) - lu(242) * b(50)
         b(91) = b(91) - lu(243) * b(50)
         b(52) = b(52) - lu(245) * b(51)
         b(58) = b(58) - lu(246) * b(51)
         b(61) = b(61) - lu(247) * b(51)
         b(69) = b(69) - lu(248) * b(51)
         b(82) = b(82) - lu(249) * b(51)
         b(83) = b(83) - lu(250) * b(51)
         b(85) = b(85) - lu(251) * b(51)
         b(88) = b(88) - lu(252) * b(51)
         b(90) = b(90) - lu(253) * b(51)
         b(68) = b(68) - lu(255) * b(52)
         b(80) = b(80) - lu(256) * b(52)
         b(82) = b(82) - lu(257) * b(52)
         b(83) = b(83) - lu(258) * b(52)
         b(54) = b(54) - lu(261) * b(53)
         b(70) = b(70) - lu(262) * b(53)
         b(74) = b(74) - lu(263) * b(53)
         b(75) = b(75) - lu(264) * b(53)
         b(76) = b(76) - lu(265) * b(53)
         b(77) = b(77) - lu(266) * b(53)
         b(78) = b(78) - lu(267) * b(53)
         b(80) = b(80) - lu(268) * b(53)
         b(82) = b(82) - lu(269) * b(53)
         b(83) = b(83) - lu(270) * b(53)
         b(84) = b(84) - lu(271) * b(53)
         b(88) = b(88) - lu(272) * b(53)
         b(67) = b(67) - lu(276) * b(54)
         b(71) = b(71) - lu(277) * b(54)
         b(80) = b(80) - lu(278) * b(54)
         b(82) = b(82) - lu(279) * b(54)
         b(83) = b(83) - lu(280) * b(54)
         b(84) = b(84) - lu(281) * b(54)
         b(85) = b(85) - lu(282) * b(54)
         b(88) = b(88) - lu(283) * b(54)
         b(90) = b(90) - lu(284) * b(54)
      end subroutine imp_lu_slv01
      subroutine imp_lu_slv02( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
         b(71) = b(71) - lu(288) * b(55)
         b(72) = b(72) - lu(289) * b(55)
         b(77) = b(77) - lu(290) * b(55)
         b(78) = b(78) - lu(291) * b(55)
         b(82) = b(82) - lu(292) * b(55)
         b(83) = b(83) - lu(293) * b(55)
         b(85) = b(85) - lu(294) * b(55)
         b(88) = b(88) - lu(295) * b(55)
         b(90) = b(90) - lu(296) * b(55)
         b(62) = b(62) - lu(299) * b(56)
         b(79) = b(79) - lu(300) * b(56)
         b(81) = b(81) - lu(301) * b(56)
         b(83) = b(83) - lu(302) * b(56)
         b(86) = b(86) - lu(303) * b(56)
         b(87) = b(87) - lu(304) * b(56)
         b(91) = b(91) - lu(305) * b(56)
         b(61) = b(61) - lu(309) * b(57)
         b(66) = b(66) - lu(310) * b(57)
         b(69) = b(69) - lu(311) * b(57)
         b(78) = b(78) - lu(312) * b(57)
         b(82) = b(82) - lu(313) * b(57)
         b(83) = b(83) - lu(314) * b(57)
         b(85) = b(85) - lu(315) * b(57)
         b(88) = b(88) - lu(316) * b(57)
         b(90) = b(90) - lu(317) * b(57)
         b(68) = b(68) - lu(320) * b(58)
         b(80) = b(80) - lu(321) * b(58)
         b(82) = b(82) - lu(322) * b(58)
         b(83) = b(83) - lu(323) * b(58)
         b(88) = b(88) - lu(324) * b(58)
         b(67) = b(67) - lu(328) * b(59)
         b(68) = b(68) - lu(329) * b(59)
         b(69) = b(69) - lu(330) * b(59)
         b(80) = b(80) - lu(331) * b(59)
         b(82) = b(82) - lu(332) * b(59)
         b(83) = b(83) - lu(333) * b(59)
         b(84) = b(84) - lu(334) * b(59)
         b(85) = b(85) - lu(335) * b(59)
         b(90) = b(90) - lu(336) * b(59)
         b(61) = b(61) - lu(339) * b(60)
         b(68) = b(68) - lu(340) * b(60)
         b(71) = b(71) - lu(341) * b(60)
         b(78) = b(78) - lu(342) * b(60)
         b(82) = b(82) - lu(343) * b(60)
         b(83) = b(83) - lu(344) * b(60)
         b(85) = b(85) - lu(345) * b(60)
         b(88) = b(88) - lu(346) * b(60)
         b(90) = b(90) - lu(347) * b(60)
         b(69) = b(69) - lu(349) * b(61)
         b(77) = b(77) - lu(350) * b(61)
         b(82) = b(82) - lu(351) * b(61)
         b(83) = b(83) - lu(352) * b(61)
         b(88) = b(88) - lu(353) * b(61)
         b(79) = b(79) - lu(358) * b(62)
         b(81) = b(81) - lu(359) * b(62)
         b(83) = b(83) - lu(360) * b(62)
         b(86) = b(86) - lu(361) * b(62)
         b(87) = b(87) - lu(362) * b(62)
         b(91) = b(91) - lu(363) * b(62)
         b(64) = b(64) - lu(367) * b(63)
         b(66) = b(66) - lu(368) * b(63)
         b(68) = b(68) - lu(369) * b(63)
         b(69) = b(69) - lu(370) * b(63)
         b(77) = b(77) - lu(371) * b(63)
         b(80) = b(80) - lu(372) * b(63)
         b(82) = b(82) - lu(373) * b(63)
         b(83) = b(83) - lu(374) * b(63)
         b(85) = b(85) - lu(375) * b(63)
         b(88) = b(88) - lu(376) * b(63)
         b(90) = b(90) - lu(377) * b(63)
         b(68) = b(68) - lu(380) * b(64)
         b(69) = b(69) - lu(381) * b(64)
         b(77) = b(77) - lu(382) * b(64)
         b(80) = b(80) - lu(383) * b(64)
         b(82) = b(82) - lu(384) * b(64)
         b(83) = b(83) - lu(385) * b(64)
         b(88) = b(88) - lu(386) * b(64)
         b(90) = b(90) - lu(387) * b(64)
         b(68) = b(68) - lu(396) * b(65)
         b(69) = b(69) - lu(397) * b(65)
         b(77) = b(77) - lu(398) * b(65)
         b(78) = b(78) - lu(399) * b(65)
         b(80) = b(80) - lu(400) * b(65)
         b(82) = b(82) - lu(401) * b(65)
         b(83) = b(83) - lu(402) * b(65)
         b(85) = b(85) - lu(403) * b(65)
         b(88) = b(88) - lu(404) * b(65)
         b(90) = b(90) - lu(405) * b(65)
         b(69) = b(69) - lu(409) * b(66)
         b(77) = b(77) - lu(410) * b(66)
         b(80) = b(80) - lu(411) * b(66)
         b(82) = b(82) - lu(412) * b(66)
         b(83) = b(83) - lu(413) * b(66)
         b(85) = b(85) - lu(414) * b(66)
         b(88) = b(88) - lu(415) * b(66)
         b(90) = b(90) - lu(416) * b(66)
         b(71) = b(71) - lu(422) * b(67)
         b(72) = b(72) - lu(423) * b(67)
         b(77) = b(77) - lu(424) * b(67)
         b(78) = b(78) - lu(425) * b(67)
         b(82) = b(82) - lu(426) * b(67)
         b(83) = b(83) - lu(427) * b(67)
         b(90) = b(90) - lu(428) * b(67)
         b(80) = b(80) - lu(430) * b(68)
         b(83) = b(83) - lu(431) * b(68)
         b(90) = b(90) - lu(432) * b(68)
         b(77) = b(77) - lu(435) * b(69)
         b(80) = b(80) - lu(436) * b(69)
         b(82) = b(82) - lu(437) * b(69)
         b(83) = b(83) - lu(438) * b(69)
         b(90) = b(90) - lu(439) * b(69)
         b(71) = b(71) - lu(447) * b(70)
         b(72) = b(72) - lu(448) * b(70)
         b(74) = b(74) - lu(449) * b(70)
         b(76) = b(76) - lu(450) * b(70)
         b(77) = b(77) - lu(451) * b(70)
         b(78) = b(78) - lu(452) * b(70)
         b(80) = b(80) - lu(453) * b(70)
         b(82) = b(82) - lu(454) * b(70)
         b(83) = b(83) - lu(455) * b(70)
         b(84) = b(84) - lu(456) * b(70)
         b(85) = b(85) - lu(457) * b(70)
         b(88) = b(88) - lu(458) * b(70)
         b(90) = b(90) - lu(459) * b(70)
         b(77) = b(77) - lu(462) * b(71)
         b(78) = b(78) - lu(463) * b(71)
         b(80) = b(80) - lu(464) * b(71)
         b(82) = b(82) - lu(465) * b(71)
         b(83) = b(83) - lu(466) * b(71)
         b(88) = b(88) - lu(467) * b(71)
         b(90) = b(90) - lu(468) * b(71)
         b(77) = b(77) - lu(474) * b(72)
         b(78) = b(78) - lu(475) * b(72)
         b(80) = b(80) - lu(476) * b(72)
         b(82) = b(82) - lu(477) * b(72)
         b(83) = b(83) - lu(478) * b(72)
         b(85) = b(85) - lu(479) * b(72)
         b(88) = b(88) - lu(480) * b(72)
         b(90) = b(90) - lu(481) * b(72)
         b(77) = b(77) - lu(490) * b(73)
         b(78) = b(78) - lu(491) * b(73)
         b(80) = b(80) - lu(492) * b(73)
         b(82) = b(82) - lu(493) * b(73)
         b(83) = b(83) - lu(494) * b(73)
         b(84) = b(84) - lu(495) * b(73)
         b(85) = b(85) - lu(496) * b(73)
         b(88) = b(88) - lu(497) * b(73)
         b(90) = b(90) - lu(498) * b(73)
         b(77) = b(77) - lu(506) * b(74)
         b(78) = b(78) - lu(507) * b(74)
         b(80) = b(80) - lu(508) * b(74)
         b(82) = b(82) - lu(509) * b(74)
         b(83) = b(83) - lu(510) * b(74)
         b(84) = b(84) - lu(511) * b(74)
         b(85) = b(85) - lu(512) * b(74)
         b(88) = b(88) - lu(513) * b(74)
         b(90) = b(90) - lu(514) * b(74)
         b(76) = b(76) - lu(531) * b(75)
         b(77) = b(77) - lu(532) * b(75)
         b(78) = b(78) - lu(533) * b(75)
         b(80) = b(80) - lu(534) * b(75)
         b(82) = b(82) - lu(535) * b(75)
         b(83) = b(83) - lu(536) * b(75)
         b(84) = b(84) - lu(537) * b(75)
         b(85) = b(85) - lu(538) * b(75)
         b(88) = b(88) - lu(539) * b(75)
         b(90) = b(90) - lu(540) * b(75)
         b(77) = b(77) - lu(549) * b(76)
         b(78) = b(78) - lu(550) * b(76)
         b(80) = b(80) - lu(551) * b(76)
         b(82) = b(82) - lu(552) * b(76)
         b(83) = b(83) - lu(553) * b(76)
         b(84) = b(84) - lu(554) * b(76)
         b(85) = b(85) - lu(555) * b(76)
         b(88) = b(88) - lu(556) * b(76)
         b(90) = b(90) - lu(557) * b(76)
         b(78) = b(78) - lu(561) * b(77)
         b(80) = b(80) - lu(562) * b(77)
         b(82) = b(82) - lu(563) * b(77)
         b(83) = b(83) - lu(564) * b(77)
         b(84) = b(84) - lu(565) * b(77)
         b(85) = b(85) - lu(566) * b(77)
         b(88) = b(88) - lu(567) * b(77)
         b(90) = b(90) - lu(568) * b(77)
         b(80) = b(80) - lu(594) * b(78)
         b(82) = b(82) - lu(595) * b(78)
         b(83) = b(83) - lu(596) * b(78)
         b(84) = b(84) - lu(597) * b(78)
         b(85) = b(85) - lu(598) * b(78)
         b(88) = b(88) - lu(599) * b(78)
         b(90) = b(90) - lu(600) * b(78)
         b(81) = b(81) - lu(603) * b(79)
         b(82) = b(82) - lu(604) * b(79)
         b(83) = b(83) - lu(605) * b(79)
         b(84) = b(84) - lu(606) * b(79)
         b(86) = b(86) - lu(607) * b(79)
         b(87) = b(87) - lu(608) * b(79)
         b(88) = b(88) - lu(609) * b(79)
         b(91) = b(91) - lu(610) * b(79)
         b(82) = b(82) - lu(635) * b(80)
         b(83) = b(83) - lu(636) * b(80)
         b(84) = b(84) - lu(637) * b(80)
         b(85) = b(85) - lu(638) * b(80)
         b(86) = b(86) - lu(639) * b(80)
         b(87) = b(87) - lu(640) * b(80)
         b(88) = b(88) - lu(641) * b(80)
         b(90) = b(90) - lu(642) * b(80)
         b(91) = b(91) - lu(643) * b(80)
      end subroutine imp_lu_slv02
      subroutine imp_lu_slv03( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
         b(82) = b(82) - lu(652) * b(81)
         b(83) = b(83) - lu(653) * b(81)
         b(84) = b(84) - lu(654) * b(81)
         b(85) = b(85) - lu(655) * b(81)
         b(86) = b(86) - lu(656) * b(81)
         b(87) = b(87) - lu(657) * b(81)
         b(88) = b(88) - lu(658) * b(81)
         b(89) = b(89) - lu(659) * b(81)
         b(90) = b(90) - lu(660) * b(81)
         b(91) = b(91) - lu(661) * b(81)
         b(83) = b(83) - lu(712) * b(82)
         b(84) = b(84) - lu(713) * b(82)
         b(85) = b(85) - lu(714) * b(82)
         b(86) = b(86) - lu(715) * b(82)
         b(87) = b(87) - lu(716) * b(82)
         b(88) = b(88) - lu(717) * b(82)
         b(89) = b(89) - lu(718) * b(82)
         b(90) = b(90) - lu(719) * b(82)
         b(91) = b(91) - lu(720) * b(82)
         b(84) = b(84) - lu(789) * b(83)
         b(85) = b(85) - lu(790) * b(83)
         b(86) = b(86) - lu(791) * b(83)
         b(87) = b(87) - lu(792) * b(83)
         b(88) = b(88) - lu(793) * b(83)
         b(89) = b(89) - lu(794) * b(83)
         b(90) = b(90) - lu(795) * b(83)
         b(91) = b(91) - lu(796) * b(83)
         b(85) = b(85) - lu(831) * b(84)
         b(86) = b(86) - lu(832) * b(84)
         b(87) = b(87) - lu(833) * b(84)
         b(88) = b(88) - lu(834) * b(84)
         b(89) = b(89) - lu(835) * b(84)
         b(90) = b(90) - lu(836) * b(84)
         b(91) = b(91) - lu(837) * b(84)
         b(86) = b(86) - lu(879) * b(85)
         b(87) = b(87) - lu(880) * b(85)
         b(88) = b(88) - lu(881) * b(85)
         b(89) = b(89) - lu(882) * b(85)
         b(90) = b(90) - lu(883) * b(85)
         b(91) = b(91) - lu(884) * b(85)
         b(87) = b(87) - lu(892) * b(86)
         b(88) = b(88) - lu(893) * b(86)
         b(89) = b(89) - lu(894) * b(86)
         b(90) = b(90) - lu(895) * b(86)
         b(91) = b(91) - lu(896) * b(86)
         b(88) = b(88) - lu(914) * b(87)
         b(89) = b(89) - lu(915) * b(87)
         b(90) = b(90) - lu(916) * b(87)
         b(91) = b(91) - lu(917) * b(87)
         b(89) = b(89) - lu(931) * b(88)
         b(90) = b(90) - lu(932) * b(88)
         b(91) = b(91) - lu(933) * b(88)
         b(90) = b(90) - lu(951) * b(89)
         b(91) = b(91) - lu(952) * b(89)
         b(91) = b(91) - lu(980) * b(90)
      end subroutine imp_lu_slv03
      subroutine imp_lu_slv04( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve U * x = y
!-----------------------------------------------------------------------
         b(91) = b(91) * lu(998)
         b(90) = b(90) - lu(997) * b(91)
         b(89) = b(89) - lu(996) * b(91)
         b(88) = b(88) - lu(995) * b(91)
         b(87) = b(87) - lu(994) * b(91)
         b(86) = b(86) - lu(993) * b(91)
         b(85) = b(85) - lu(992) * b(91)
         b(84) = b(84) - lu(991) * b(91)
         b(83) = b(83) - lu(990) * b(91)
         b(82) = b(82) - lu(989) * b(91)
         b(81) = b(81) - lu(988) * b(91)
         b(80) = b(80) - lu(987) * b(91)
         b(79) = b(79) - lu(986) * b(91)
         b(68) = b(68) - lu(985) * b(91)
         b(62) = b(62) - lu(984) * b(91)
         b(56) = b(56) - lu(983) * b(91)
         b(50) = b(50) - lu(982) * b(91)
         b(34) = b(34) - lu(981) * b(91)
         b(90) = b(90) * lu(979)
         b(89) = b(89) - lu(978) * b(90)
         b(88) = b(88) - lu(977) * b(90)
         b(87) = b(87) - lu(976) * b(90)
         b(86) = b(86) - lu(975) * b(90)
         b(85) = b(85) - lu(974) * b(90)
         b(84) = b(84) - lu(973) * b(90)
         b(83) = b(83) - lu(972) * b(90)
         b(82) = b(82) - lu(971) * b(90)
         b(81) = b(81) - lu(970) * b(90)
         b(80) = b(80) - lu(969) * b(90)
         b(79) = b(79) - lu(968) * b(90)
         b(78) = b(78) - lu(967) * b(90)
         b(77) = b(77) - lu(966) * b(90)
         b(73) = b(73) - lu(965) * b(90)
         b(69) = b(69) - lu(964) * b(90)
         b(68) = b(68) - lu(963) * b(90)
         b(62) = b(62) - lu(962) * b(90)
         b(61) = b(61) - lu(961) * b(90)
         b(56) = b(56) - lu(960) * b(90)
         b(50) = b(50) - lu(959) * b(90)
         b(39) = b(39) - lu(958) * b(90)
         b(35) = b(35) - lu(957) * b(90)
         b(23) = b(23) - lu(956) * b(90)
         b(22) = b(22) - lu(955) * b(90)
         b(20) = b(20) - lu(954) * b(90)
         b(17) = b(17) - lu(953) * b(90)
         b(89) = b(89) * lu(950)
         b(88) = b(88) - lu(949) * b(89)
         b(87) = b(87) - lu(948) * b(89)
         b(86) = b(86) - lu(947) * b(89)
         b(85) = b(85) - lu(946) * b(89)
         b(84) = b(84) - lu(945) * b(89)
         b(83) = b(83) - lu(944) * b(89)
         b(82) = b(82) - lu(943) * b(89)
         b(81) = b(81) - lu(942) * b(89)
         b(80) = b(80) - lu(941) * b(89)
         b(79) = b(79) - lu(940) * b(89)
         b(68) = b(68) - lu(939) * b(89)
         b(62) = b(62) - lu(938) * b(89)
         b(50) = b(50) - lu(937) * b(89)
         b(43) = b(43) - lu(936) * b(89)
         b(33) = b(33) - lu(935) * b(89)
         b(11) = b(11) - lu(934) * b(89)
         b(88) = b(88) * lu(930)
         b(87) = b(87) - lu(929) * b(88)
         b(86) = b(86) - lu(928) * b(88)
         b(85) = b(85) - lu(927) * b(88)
         b(84) = b(84) - lu(926) * b(88)
         b(83) = b(83) - lu(925) * b(88)
         b(82) = b(82) - lu(924) * b(88)
         b(81) = b(81) - lu(923) * b(88)
         b(80) = b(80) - lu(922) * b(88)
         b(79) = b(79) - lu(921) * b(88)
         b(68) = b(68) - lu(920) * b(88)
         b(62) = b(62) - lu(919) * b(88)
         b(34) = b(34) - lu(918) * b(88)
         b(87) = b(87) * lu(913)
         b(86) = b(86) - lu(912) * b(87)
         b(85) = b(85) - lu(911) * b(87)
         b(84) = b(84) - lu(910) * b(87)
         b(83) = b(83) - lu(909) * b(87)
         b(82) = b(82) - lu(908) * b(87)
         b(81) = b(81) - lu(907) * b(87)
         b(80) = b(80) - lu(906) * b(87)
         b(79) = b(79) - lu(905) * b(87)
         b(68) = b(68) - lu(904) * b(87)
         b(62) = b(62) - lu(903) * b(87)
         b(56) = b(56) - lu(902) * b(87)
         b(50) = b(50) - lu(901) * b(87)
         b(43) = b(43) - lu(900) * b(87)
         b(39) = b(39) - lu(899) * b(87)
         b(33) = b(33) - lu(898) * b(87)
         b(13) = b(13) - lu(897) * b(87)
         b(86) = b(86) * lu(891)
         b(85) = b(85) - lu(890) * b(86)
         b(84) = b(84) - lu(889) * b(86)
         b(83) = b(83) - lu(888) * b(86)
         b(82) = b(82) - lu(887) * b(86)
         b(80) = b(80) - lu(886) * b(86)
         b(78) = b(78) - lu(885) * b(86)
         b(85) = b(85) * lu(878)
         b(84) = b(84) - lu(877) * b(85)
         b(83) = b(83) - lu(876) * b(85)
         b(82) = b(82) - lu(875) * b(85)
         b(81) = b(81) - lu(874) * b(85)
         b(80) = b(80) - lu(873) * b(85)
         b(79) = b(79) - lu(872) * b(85)
         b(78) = b(78) - lu(871) * b(85)
         b(77) = b(77) - lu(870) * b(85)
         b(76) = b(76) - lu(869) * b(85)
         b(75) = b(75) - lu(868) * b(85)
         b(74) = b(74) - lu(867) * b(85)
         b(73) = b(73) - lu(866) * b(85)
         b(72) = b(72) - lu(865) * b(85)
         b(71) = b(71) - lu(864) * b(85)
         b(70) = b(70) - lu(863) * b(85)
         b(69) = b(69) - lu(862) * b(85)
         b(68) = b(68) - lu(861) * b(85)
         b(67) = b(67) - lu(860) * b(85)
         b(66) = b(66) - lu(859) * b(85)
         b(65) = b(65) - lu(858) * b(85)
         b(64) = b(64) - lu(857) * b(85)
         b(63) = b(63) - lu(856) * b(85)
         b(61) = b(61) - lu(855) * b(85)
         b(60) = b(60) - lu(854) * b(85)
         b(59) = b(59) - lu(853) * b(85)
         b(58) = b(58) - lu(852) * b(85)
         b(57) = b(57) - lu(851) * b(85)
         b(55) = b(55) - lu(850) * b(85)
         b(52) = b(52) - lu(849) * b(85)
         b(51) = b(51) - lu(848) * b(85)
         b(49) = b(49) - lu(847) * b(85)
         b(48) = b(48) - lu(846) * b(85)
         b(47) = b(47) - lu(845) * b(85)
         b(46) = b(46) - lu(844) * b(85)
         b(45) = b(45) - lu(843) * b(85)
         b(42) = b(42) - lu(842) * b(85)
         b(37) = b(37) - lu(841) * b(85)
         b(17) = b(17) - lu(840) * b(85)
         b(15) = b(15) - lu(839) * b(85)
         b(6) = b(6) - lu(838) * b(85)
         b(84) = b(84) * lu(830)
         b(83) = b(83) - lu(829) * b(84)
         b(82) = b(82) - lu(828) * b(84)
         b(81) = b(81) - lu(827) * b(84)
         b(80) = b(80) - lu(826) * b(84)
         b(79) = b(79) - lu(825) * b(84)
         b(78) = b(78) - lu(824) * b(84)
         b(77) = b(77) - lu(823) * b(84)
         b(76) = b(76) - lu(822) * b(84)
         b(75) = b(75) - lu(821) * b(84)
         b(74) = b(74) - lu(820) * b(84)
         b(72) = b(72) - lu(819) * b(84)
         b(71) = b(71) - lu(818) * b(84)
         b(70) = b(70) - lu(817) * b(84)
         b(69) = b(69) - lu(816) * b(84)
         b(68) = b(68) - lu(815) * b(84)
         b(67) = b(67) - lu(814) * b(84)
         b(66) = b(66) - lu(813) * b(84)
         b(64) = b(64) - lu(812) * b(84)
         b(63) = b(63) - lu(811) * b(84)
         b(59) = b(59) - lu(810) * b(84)
         b(58) = b(58) - lu(809) * b(84)
         b(54) = b(54) - lu(808) * b(84)
         b(53) = b(53) - lu(807) * b(84)
         b(52) = b(52) - lu(806) * b(84)
         b(47) = b(47) - lu(805) * b(84)
         b(46) = b(46) - lu(804) * b(84)
         b(44) = b(44) - lu(803) * b(84)
         b(41) = b(41) - lu(802) * b(84)
         b(37) = b(37) - lu(801) * b(84)
         b(34) = b(34) - lu(800) * b(84)
         b(27) = b(27) - lu(799) * b(84)
         b(21) = b(21) - lu(798) * b(84)
         b(19) = b(19) - lu(797) * b(84)
         b(83) = b(83) * lu(788)
         b(82) = b(82) - lu(787) * b(83)
         b(81) = b(81) - lu(786) * b(83)
         b(80) = b(80) - lu(785) * b(83)
         b(79) = b(79) - lu(784) * b(83)
         b(78) = b(78) - lu(783) * b(83)
         b(77) = b(77) - lu(782) * b(83)
         b(76) = b(76) - lu(781) * b(83)
         b(75) = b(75) - lu(780) * b(83)
         b(74) = b(74) - lu(779) * b(83)
         b(73) = b(73) - lu(778) * b(83)
         b(72) = b(72) - lu(777) * b(83)
         b(71) = b(71) - lu(776) * b(83)
         b(70) = b(70) - lu(775) * b(83)
         b(69) = b(69) - lu(774) * b(83)
         b(68) = b(68) - lu(773) * b(83)
         b(67) = b(67) - lu(772) * b(83)
         b(66) = b(66) - lu(771) * b(83)
         b(65) = b(65) - lu(770) * b(83)
         b(64) = b(64) - lu(769) * b(83)
         b(63) = b(63) - lu(768) * b(83)
         b(62) = b(62) - lu(767) * b(83)
         b(61) = b(61) - lu(766) * b(83)
         b(60) = b(60) - lu(765) * b(83)
         b(59) = b(59) - lu(764) * b(83)
         b(58) = b(58) - lu(763) * b(83)
         b(57) = b(57) - lu(762) * b(83)
         b(55) = b(55) - lu(761) * b(83)
         b(54) = b(54) - lu(760) * b(83)
         b(53) = b(53) - lu(759) * b(83)
         b(52) = b(52) - lu(758) * b(83)
         b(51) = b(51) - lu(757) * b(83)
         b(49) = b(49) - lu(756) * b(83)
         b(48) = b(48) - lu(755) * b(83)
         b(47) = b(47) - lu(754) * b(83)
         b(46) = b(46) - lu(753) * b(83)
         b(45) = b(45) - lu(752) * b(83)
         b(44) = b(44) - lu(751) * b(83)
         b(42) = b(42) - lu(750) * b(83)
         b(41) = b(41) - lu(749) * b(83)
         b(40) = b(40) - lu(748) * b(83)
         b(38) = b(38) - lu(747) * b(83)
         b(37) = b(37) - lu(746) * b(83)
         b(36) = b(36) - lu(745) * b(83)
         b(35) = b(35) - lu(744) * b(83)
         b(34) = b(34) - lu(743) * b(83)
         b(32) = b(32) - lu(742) * b(83)
         b(31) = b(31) - lu(741) * b(83)
         b(30) = b(30) - lu(740) * b(83)
         b(29) = b(29) - lu(739) * b(83)
         b(28) = b(28) - lu(738) * b(83)
         b(27) = b(27) - lu(737) * b(83)
         b(26) = b(26) - lu(736) * b(83)
         b(25) = b(25) - lu(735) * b(83)
         b(24) = b(24) - lu(734) * b(83)
         b(23) = b(23) - lu(733) * b(83)
         b(21) = b(21) - lu(732) * b(83)
         b(18) = b(18) - lu(731) * b(83)
         b(16) = b(16) - lu(730) * b(83)
         b(14) = b(14) - lu(729) * b(83)
         b(12) = b(12) - lu(728) * b(83)
         b(10) = b(10) - lu(727) * b(83)
         b(9) = b(9) - lu(726) * b(83)
         b(8) = b(8) - lu(725) * b(83)
         b(7) = b(7) - lu(724) * b(83)
         b(6) = b(6) - lu(723) * b(83)
         b(4) = b(4) - lu(722) * b(83)
         b(1) = b(1) - lu(721) * b(83)
      end subroutine imp_lu_slv04
      subroutine imp_lu_slv05( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
         b(82) = b(82) * lu(711)
         b(81) = b(81) - lu(710) * b(82)
         b(80) = b(80) - lu(709) * b(82)
         b(79) = b(79) - lu(708) * b(82)
         b(78) = b(78) - lu(707) * b(82)
         b(77) = b(77) - lu(706) * b(82)
         b(76) = b(76) - lu(705) * b(82)
         b(75) = b(75) - lu(704) * b(82)
         b(74) = b(74) - lu(703) * b(82)
         b(73) = b(73) - lu(702) * b(82)
         b(72) = b(72) - lu(701) * b(82)
         b(71) = b(71) - lu(700) * b(82)
         b(70) = b(70) - lu(699) * b(82)
         b(69) = b(69) - lu(698) * b(82)
         b(68) = b(68) - lu(697) * b(82)
         b(67) = b(67) - lu(696) * b(82)
         b(66) = b(66) - lu(695) * b(82)
         b(65) = b(65) - lu(694) * b(82)
         b(64) = b(64) - lu(693) * b(82)
         b(63) = b(63) - lu(692) * b(82)
         b(62) = b(62) - lu(691) * b(82)
         b(61) = b(61) - lu(690) * b(82)
         b(60) = b(60) - lu(689) * b(82)
         b(58) = b(58) - lu(688) * b(82)
         b(57) = b(57) - lu(687) * b(82)
         b(56) = b(56) - lu(686) * b(82)
         b(55) = b(55) - lu(685) * b(82)
         b(52) = b(52) - lu(684) * b(82)
         b(51) = b(51) - lu(683) * b(82)
         b(49) = b(49) - lu(682) * b(82)
         b(48) = b(48) - lu(681) * b(82)
         b(46) = b(46) - lu(680) * b(82)
         b(45) = b(45) - lu(679) * b(82)
         b(43) = b(43) - lu(678) * b(82)
         b(42) = b(42) - lu(677) * b(82)
         b(40) = b(40) - lu(676) * b(82)
         b(38) = b(38) - lu(675) * b(82)
         b(36) = b(36) - lu(674) * b(82)
         b(32) = b(32) - lu(673) * b(82)
         b(31) = b(31) - lu(672) * b(82)
         b(29) = b(29) - lu(671) * b(82)
         b(28) = b(28) - lu(670) * b(82)
         b(26) = b(26) - lu(669) * b(82)
         b(25) = b(25) - lu(668) * b(82)
         b(24) = b(24) - lu(667) * b(82)
         b(23) = b(23) - lu(666) * b(82)
         b(21) = b(21) - lu(665) * b(82)
         b(18) = b(18) - lu(664) * b(82)
         b(7) = b(7) - lu(663) * b(82)
         b(6) = b(6) - lu(662) * b(82)
         b(81) = b(81) * lu(651)
         b(80) = b(80) - lu(650) * b(81)
         b(79) = b(79) - lu(649) * b(81)
         b(68) = b(68) - lu(648) * b(81)
         b(62) = b(62) - lu(647) * b(81)
         b(56) = b(56) - lu(646) * b(81)
         b(33) = b(33) - lu(645) * b(81)
         b(22) = b(22) - lu(644) * b(81)
         b(80) = b(80) * lu(634)
         b(78) = b(78) - lu(633) * b(80)
         b(77) = b(77) - lu(632) * b(80)
         b(76) = b(76) - lu(631) * b(80)
         b(75) = b(75) - lu(630) * b(80)
         b(74) = b(74) - lu(629) * b(80)
         b(73) = b(73) - lu(628) * b(80)
         b(72) = b(72) - lu(627) * b(80)
         b(71) = b(71) - lu(626) * b(80)
         b(70) = b(70) - lu(625) * b(80)
         b(69) = b(69) - lu(624) * b(80)
         b(68) = b(68) - lu(623) * b(80)
         b(67) = b(67) - lu(622) * b(80)
         b(59) = b(59) - lu(621) * b(80)
         b(54) = b(54) - lu(620) * b(80)
         b(53) = b(53) - lu(619) * b(80)
         b(52) = b(52) - lu(618) * b(80)
         b(49) = b(49) - lu(617) * b(80)
         b(46) = b(46) - lu(616) * b(80)
         b(44) = b(44) - lu(615) * b(80)
         b(39) = b(39) - lu(614) * b(80)
         b(16) = b(16) - lu(613) * b(80)
         b(12) = b(12) - lu(612) * b(80)
         b(6) = b(6) - lu(611) * b(80)
         b(79) = b(79) * lu(602)
         b(62) = b(62) - lu(601) * b(79)
         b(78) = b(78) * lu(593)
         b(77) = b(77) - lu(592) * b(78)
         b(76) = b(76) - lu(591) * b(78)
         b(75) = b(75) - lu(590) * b(78)
         b(74) = b(74) - lu(589) * b(78)
         b(73) = b(73) - lu(588) * b(78)
         b(72) = b(72) - lu(587) * b(78)
         b(71) = b(71) - lu(586) * b(78)
         b(69) = b(69) - lu(585) * b(78)
         b(68) = b(68) - lu(584) * b(78)
         b(66) = b(66) - lu(583) * b(78)
         b(65) = b(65) - lu(582) * b(78)
         b(61) = b(61) - lu(581) * b(78)
         b(60) = b(60) - lu(580) * b(78)
         b(58) = b(58) - lu(579) * b(78)
         b(57) = b(57) - lu(578) * b(78)
         b(55) = b(55) - lu(577) * b(78)
         b(46) = b(46) - lu(576) * b(78)
         b(45) = b(45) - lu(575) * b(78)
         b(41) = b(41) - lu(574) * b(78)
         b(32) = b(32) - lu(573) * b(78)
         b(30) = b(30) - lu(572) * b(78)
         b(7) = b(7) - lu(571) * b(78)
         b(6) = b(6) - lu(570) * b(78)
         b(5) = b(5) - lu(569) * b(78)
         b(77) = b(77) * lu(560)
         b(36) = b(36) - lu(559) * b(77)
         b(20) = b(20) - lu(558) * b(77)
         b(76) = b(76) * lu(548)
         b(72) = b(72) - lu(547) * b(76)
         b(71) = b(71) - lu(546) * b(76)
         b(69) = b(69) - lu(545) * b(76)
         b(68) = b(68) - lu(544) * b(76)
         b(67) = b(67) - lu(543) * b(76)
         b(65) = b(65) - lu(542) * b(76)
         b(54) = b(54) - lu(541) * b(76)
         b(75) = b(75) * lu(530)
         b(74) = b(74) - lu(529) * b(75)
         b(69) = b(69) - lu(528) * b(75)
         b(68) = b(68) - lu(527) * b(75)
         b(66) = b(66) - lu(526) * b(75)
         b(64) = b(64) - lu(525) * b(75)
         b(63) = b(63) - lu(524) * b(75)
         b(61) = b(61) - lu(523) * b(75)
         b(58) = b(58) - lu(522) * b(75)
         b(52) = b(52) - lu(521) * b(75)
         b(51) = b(51) - lu(520) * b(75)
         b(47) = b(47) - lu(519) * b(75)
         b(41) = b(41) - lu(518) * b(75)
         b(40) = b(40) - lu(517) * b(75)
         b(6) = b(6) - lu(516) * b(75)
         b(5) = b(5) - lu(515) * b(75)
         b(74) = b(74) * lu(505)
         b(73) = b(73) - lu(504) * b(74)
         b(69) = b(69) - lu(503) * b(74)
         b(68) = b(68) - lu(502) * b(74)
         b(66) = b(66) - lu(501) * b(74)
         b(61) = b(61) - lu(500) * b(74)
         b(57) = b(57) - lu(499) * b(74)
         b(73) = b(73) * lu(489)
         b(71) = b(71) - lu(488) * b(73)
         b(69) = b(69) - lu(487) * b(73)
         b(68) = b(68) - lu(486) * b(73)
         b(61) = b(61) - lu(485) * b(73)
         b(60) = b(60) - lu(484) * b(73)
         b(35) = b(35) - lu(483) * b(73)
         b(25) = b(25) - lu(482) * b(73)
         b(72) = b(72) * lu(473)
         b(71) = b(71) - lu(472) * b(72)
         b(69) = b(69) - lu(471) * b(72)
         b(67) = b(67) - lu(470) * b(72)
         b(26) = b(26) - lu(469) * b(72)
         b(71) = b(71) * lu(461)
         b(68) = b(68) - lu(460) * b(71)
         b(70) = b(70) * lu(446)
         b(69) = b(69) - lu(445) * b(70)
         b(68) = b(68) - lu(444) * b(70)
         b(67) = b(67) - lu(443) * b(70)
         b(59) = b(59) - lu(442) * b(70)
         b(31) = b(31) - lu(441) * b(70)
         b(6) = b(6) - lu(440) * b(70)
         b(69) = b(69) * lu(434)
         b(68) = b(68) - lu(433) * b(69)
         b(68) = b(68) * lu(429)
         b(67) = b(67) * lu(421)
         b(46) = b(46) - lu(420) * b(67)
         b(8) = b(8) - lu(419) * b(67)
         b(7) = b(7) - lu(418) * b(67)
         b(6) = b(6) - lu(417) * b(67)
         b(66) = b(66) * lu(408)
         b(61) = b(61) - lu(407) * b(66)
         b(48) = b(48) - lu(406) * b(66)
         b(65) = b(65) * lu(395)
         b(64) = b(64) - lu(394) * b(65)
         b(58) = b(58) - lu(393) * b(65)
         b(41) = b(41) - lu(392) * b(65)
         b(18) = b(18) - lu(391) * b(65)
         b(7) = b(7) - lu(390) * b(65)
         b(6) = b(6) - lu(389) * b(65)
         b(5) = b(5) - lu(388) * b(65)
         b(64) = b(64) * lu(379)
         b(58) = b(58) - lu(378) * b(64)
         b(63) = b(63) * lu(366)
         b(61) = b(61) - lu(365) * b(63)
         b(58) = b(58) - lu(364) * b(63)
         b(62) = b(62) * lu(357)
         b(56) = b(56) - lu(356) * b(62)
         b(43) = b(43) - lu(355) * b(62)
         b(33) = b(33) - lu(354) * b(62)
         b(61) = b(61) * lu(348)
         b(60) = b(60) * lu(338)
         b(30) = b(30) - lu(337) * b(60)
         b(59) = b(59) * lu(327)
         b(52) = b(52) - lu(326) * b(59)
         b(49) = b(49) - lu(325) * b(59)
         b(58) = b(58) * lu(319)
         b(52) = b(52) - lu(318) * b(58)
      end subroutine imp_lu_slv05
      subroutine imp_lu_slv06( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve L * y = b
!-----------------------------------------------------------------------
         b(57) = b(57) * lu(308)
         b(24) = b(24) - lu(307) * b(57)
         b(5) = b(5) - lu(306) * b(57)
         b(56) = b(56) * lu(298)
         b(33) = b(33) - lu(297) * b(56)
         b(55) = b(55) * lu(287)
         b(46) = b(46) - lu(286) * b(55)
         b(29) = b(29) - lu(285) * b(55)
         b(54) = b(54) * lu(275)
         b(42) = b(42) - lu(274) * b(54)
         b(41) = b(41) - lu(273) * b(54)
         b(53) = b(53) * lu(260)
         b(21) = b(21) - lu(259) * b(53)
         b(52) = b(52) * lu(254)
         b(51) = b(51) * lu(244)
         b(50) = b(50) * lu(234)
         b(43) = b(43) - lu(233) * b(50)
         b(13) = b(13) - lu(232) * b(50)
         b(49) = b(49) * lu(224)
         b(48) = b(48) * lu(215)
         b(47) = b(47) * lu(206)
         b(6) = b(6) - lu(205) * b(47)
         b(46) = b(46) * lu(200)
         b(45) = b(45) * lu(192)
         b(41) = b(41) - lu(191) * b(45)
         b(30) = b(30) - lu(190) * b(45)
         b(28) = b(28) - lu(189) * b(45)
         b(44) = b(44) * lu(179)
         b(43) = b(43) * lu(173)
         b(33) = b(33) - lu(172) * b(43)
         b(13) = b(13) - lu(171) * b(43)
         b(42) = b(42) * lu(164)
         b(38) = b(38) - lu(163) * b(42)
         b(41) = b(41) * lu(159)
         b(40) = b(40) * lu(151)
         b(14) = b(14) - lu(150) * b(40)
         b(6) = b(6) - lu(149) * b(40)
         b(39) = b(39) * lu(143)
         b(38) = b(38) * lu(137)
         b(6) = b(6) - lu(136) * b(38)
         b(37) = b(37) * lu(130)
         b(15) = b(15) - lu(129) * b(37)
         b(36) = b(36) * lu(124)
         b(35) = b(35) * lu(119)
         b(34) = b(34) * lu(115)
         b(33) = b(33) * lu(112)
         b(32) = b(32) * lu(107)
         b(31) = b(31) * lu(102)
         b(7) = b(7) - lu(101) * b(31)
         b(30) = b(30) * lu(97)
         b(29) = b(29) * lu(92)
         b(28) = b(28) * lu(87)
         b(27) = b(27) * lu(81)
         b(26) = b(26) * lu(77)
         b(25) = b(25) * lu(73)
         b(24) = b(24) * lu(69)
         b(23) = b(23) * lu(65)
         b(22) = b(22) * lu(60)
         b(21) = b(21) * lu(57)
         b(20) = b(20) * lu(52)
         b(19) = b(19) * lu(44)
         b(18) = b(18) * lu(41)
         b(7) = b(7) - lu(40) * b(18)
         b(17) = b(17) * lu(36)
         b(16) = b(16) * lu(32)
         b(12) = b(12) - lu(31) * b(16)
         b(15) = b(15) * lu(27)
         b(14) = b(14) * lu(24)
         b(13) = b(13) * lu(22)
         b(12) = b(12) * lu(20)
         b(1) = b(1) - lu(19) * b(12)
         b(11) = b(11) * lu(16)
         b(10) = b(10) * lu(13)
         b(3) = b(3) - lu(12) * b(10)
         b(9) = b(9) * lu(9)
         b(8) = b(8) * lu(8)
         b(7) = b(7) * lu(7)
         b(6) = b(6) * lu(6)
         b(5) = b(5) * lu(5)
         b(4) = b(4) * lu(4)
         b(3) = b(3) * lu(3)
         b(2) = b(2) * lu(2)
         b(1) = b(1) * lu(1)
      end subroutine imp_lu_slv06
      subroutine imp_lu_slv( lu, b )
      use CHEM_MODS_MOD, only : imp_nzcnt, clsze, clscnt4
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(imp_nzcnt)
      real, intent(inout) :: b(clscnt4)
      call imp_lu_slv01( lu, b )
      call imp_lu_slv02( lu, b )
      call imp_lu_slv03( lu, b )
      call imp_lu_slv04( lu, b )
      call imp_lu_slv05( lu, b )
      call imp_lu_slv06( lu, b )
      end subroutine imp_lu_slv
      end module MO_IMP_SOLVE_MOD
      module MO_ROD_SOLVE_MOD
      contains
      subroutine rod_lu_slv( lu, b )
      use CHEM_MODS_MOD, only : rod_nzcnt, clsze, clscnt5
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real, intent(in) :: lu(rod_nzcnt)
      real, intent(inout) :: b(clscnt5)
      end subroutine rod_lu_slv
      end module MO_ROD_SOLVE_MOD
